ホームページ > バックエンド開発 > PHPチュートリアル > mysqlデータベースのエンコードの問題

mysqlデータベースのエンコードの問題

WBOY
リリース: 2016-06-23 13:06:04
オリジナル
956 人が閲覧しました

データベースには 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 以降

json_encode( $data, JSON_UNESCAPED_UNICODE);

残念ながら、以前のバージョンではどのようなエンコード方式が使用されていましたか?

まず第一に、json_encode は utf-8 でエンコードされたデータのみを受け入れます。
次に、正常に表示できないとはどういう意味ですか? スクリーンショットを撮って確認してください。

1. json_XXXX 関数は utf-8 文字セットのみを処理できます。
2. json_encode($data, JSON_UNESCAPED_UNICODE) の JSON_UNESCAPED_UNICODE パラメーターは、中国語の文字を Unicode エンコード形式に変換しません。ニーズを満たさなかった場合でも、後悔する必要はありません

3. json 文字列を出力するページは他のコンテンツを出力しないため、データベースに接続した後、set names utf8 コマンドを実行して utf-データベースからの 8 文字セット。データはたまたま json_encode によって使用されます

エンコーディングを変換するために php の iconv 関数を使用します

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート