2012-04-01 9 views
1

PHPを使用してMySQLデータベースからUTF8照合(utf8_unicode_ci)のデータを取得しています。私はテキスト領域に結果を表示する際に、アクセントが正しく表示されない、しかしPHPをフェッチしたときにアクセントが正しく表示されないMySql UTF8照合データ

$result = advancedDatabaseSearch($tttmp, $lpref); 
echo $result; 
return; 

function advancedDatabaseSearch($pattern, $lpref) { 

    $link = mysql_connect(DB_URL, DB_USER, DB_PWD); 

    if (!$link) { 
     return 'Could not connect: ' . mysql_error(); 
    } 

    $esc_value = mysql_real_escape_string($pattern); 
    $esc_lpref = mysql_real_escape_string($lpref); 

    mysql_select_db(DB_NAME, $link); 

    $query = "SELECT RAWVALUE FROM rawvalueitem " 
     ."WHERE RAWVALUE LIKE '".$esc_value."' " 
     ."AND LANGUAGE = '".$esc_lpref."' " 
     ."ORDER BY RAWVALUE ASC"; 

    $result = mysql_query($query); 

    $return = ""; 

    while($row = mysql_fetch_array($result)) { 
     $return = $return.$row['RAWVALUE']." "; 
    } 

    mysql_close($link); 

    return $return; 

} 

、その後のAjaxによって呼び出されるPHPから:私は、コードのこの部分を使用しています

:私は、ファイルからUT8データをフェッチし、他の側では

enter image description here

if ($file_loc != NULL) { 
    if (file_exists($file_loc)) { 
     $handle = fopen($file_loc, "rb"); 
     $contents = fread($handle, filesize($file_loc)); 
     fclose($handle); 
     $result = $contents; 
    } 
} 

echo $result; 
return; 

この問題は発生しません。 PHPを使用してMySqlからデータをフェッチするとき、どうすれば解決できますか?

答えて

4

データベース接続のデフォルトの文字セットとしてUTF-8を設定しましたか?

mysql_set_charset('utf8', $link);

http://www.php.net/manual/en/function.mysql-set-charset.php

また、あなたのページには、正しい文字セットで<meta>タグを持っているのですか?

+0

いいえ、私はしませんでした。私はこれについて知らなかった。ありがとう、それは問題を解決しました。 – JVerstry

0

これは..あなたのように機能しています! ?あなたのDB接続ここ

<?php 
    $config_db_server='localhost'; 
    $config_db_server_username='root'; 
    $config_db_server_password=''; 
    $config_db_database='test'; 
    $config_db_charset='utf8'; 
    $config_db_collation='utf8_general_ci'; 
    $config_table_prefix='class_'; 
    $config_live_site='http://localhost'; 
    $config_abs_path='C:\xampp\htdocs'; 
    $config_debug=0; 

    $dbLink = mysql_connect($config_db_server, $config_db_server_username, $config_db_server_password); 
    mysql_query("SET character_set_results=utf8", $dbLink); 
    mb_internal_encoding('utf8'); 
    mysql_query("set names 'utf8'",$dbLink); 

>

変更:($ DBLINK =にmysql_connect($ config_db_server、$ config_db_server_username、$ config_db_server_password);)

関連する問題