データベースには 2 つのエンコーディングがあり、1 つは gbk_chinese_ci で、もう 1 つは utf_8general_ci です。現在、データベースにクエリを実行し、print_r() を使用して通常の値を確認しています。 json_encode($data)をjsonに変換すると正常に表示されないのですが、中国語フィールドをトランスコードしたいのですがどうすればよいでしょうか?
コードは次のとおりです:
$sql ="select * from raffle"; $result =mysql_query($sql);//执行SQL $results = array(); while ($row = mysql_fetch_assoc($result)) { $results[] = $row; }
php5.4.0 以降
json_encode($data 、JSON_U NESCAPED_UNICODE); .4.0 以降
残念ながら、以前のバージョンではどのようなエンコード方式が使用されていましたか?
1. json_XXXX 関数は utf-8 文字セットのみを処理できます。
2. json_encode($data, JSON_UNESCAPED_UNICODE) の JSON_UNESCAPED_UNICODE パラメーターは、中国語の文字を Unicode エンコード形式に変換しません。ニーズを満たさなかった場合でも、後悔する必要はありません
エンコーディングを変換するために php の iconv 関数を使用します