ホームページ > バックエンド開発 > PHPチュートリアル > PHP がデータベースを処理して、漢字ではなく「Zhang San」のエンコードを読み取るのはなぜですか?

PHP がデータベースを処理して、漢字ではなく「Zhang San」のエンコードを読み取るのはなぜですか?

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


$con = mysql_connect("localhost","root","1234");
mysql_query("set names utf8"); "setcharacter_set_client=utf8");
mysql_query("setcharacter_set_results=utf8");


$q=mysql_query("SELECT * FROM people")
while($e=mysql_fetch _assoc($q)); $ 出力 [] = $ e;}
Print (json_encode ($ OUTPUT));
ジョン","性別":"1","誕生年":"1979"}; "id":"11","name :"u5f20u4e09","sex":"1","birthyear":"1989 "}]

なぜ Zhang San ではないのか




ディスカッションに返信 (解決策)

なぜなら、json_encode、中国語ですか??

print(json_encode($output));
json_encode の後に中国語も表示したい場合は、次のようにテストできます。私の以前の記事: http://blog.csdn.net/fdipzone/article/details/28766357

json_encode は utf -8 でエンコードされたデータのみを受け入れます

json_encode はマルチバイト utf-8 文字を 2 バイトの Unicode エンコードされたエンティティ形式に変換しますJSON エンコードを行うとき
このようにして、ブーケはどのような環境でもエンコードによるデータ破損や歪みを引き起こすことはありません

json データ形式は主に js との通信に使用され、ブラウザはエンコードされたデータをその有効な文字セット unicode に変換します

したがって、json_encode のトランスコーディング作業は、ブラウザへの負荷を軽減するのに役立ちます



$con = mysql_connect("localhost","root","1234");
mysql_select_db("test",$) con)mysql_query( "set character_set_ client = utf8"); ");
while($e=mysql_fetch_assoc($q)){ $output[]=$e ; }
print(json_encode($output)); " :"1","birthyear":"1979"}, {"id":"11","name :"u5f20u4e09","sex":"1","birthyear":"1989"}]

Why Not Zhang San



なぜ文字化けしてしまい、 wampを再インストールしたら元に戻った?上記のコードに何か問題はありますか?それとも設定するファイルがあるのでしょうか?

どこで文字化けを見ましたか?


どこで文字化けを見ましたか?

不思議なことに文字化けがなくなりました。 。デコードに問題があります

デコードに問題は何ですか?


デコードの何が問題ですか?

モデレータのおかげで、PHP がブラウザで出力されるときに中国語を表示できるようにするために、echo ""; この文はAndroidでも受け入れられることが分かりました。 Php を介して印刷されたものはすべて Android クライアントに送信されますか?


はい、PHP で出力されたものはすべてクライアントに送信されます

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