ホームページ >バックエンド開発 >PHPチュートリアル >json_encode() 関数が中国語の文字を含む JSON 文字列を解析できないのはなぜですか?

json_encode() 関数が中国語の文字を含む JSON 文字列を解析できないのはなぜですか?

WBOY
WBOYオリジナル
2016-06-23 14:11:501224ブラウズ

これには値があります:

$a = '{ "a":"www", "b":2}';$arr = json_decode($a, true);


これは NULL を返します:
$a = '{ "a":"你好", "b":2}';$arr = json_decode($a, true);


なぜこれが起こるのでしょうか?中国語の文字を含む JSON 文字列を解析するにはどうすればよいですか?


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

json 内の中国語がトランスコードされました:

$p = array("name"=>"成龙",array("age"=>55,"cur"=>"电影"));$p_json = json_encode($p);echo $p_json."<br>";#{"name":"\u6210\u9f99","0":{"age":55,"cur":"\u7535\u5f71"}}#\u6210\u9f99 => 成龙,#\u7535\u5f71 => 电影print_r(json_decode($p_json));#stdClass Object ( [name] => 成龙 [0] => stdClass Object ( [age] => 55 [cur] => 电影 ) )

json 内の中国語がトランスコードされました:
PHP コード

$p = array("name"=> ;"Jackie Chan",array("年齢"=>55,"cur"=>"映画"));
$p_json = json_encode($p);
echo $p_json."
";
#{ "name":"u6210u9f99","0":{"age":55,"cur":"u7535u5f71"}}
#u6210......

そうすれば、何かを生み出すことができるはずです、それはできるでしょうNULL にすることはできません

エディターで文字セットを utf-8 に変更します

ファイル エンコーディングを自分で utf-8 または iconv に変換します

エディターで文字セットを utf-8 に変更します

ありがとう!

中国語を解析できません。utf-8 に設定しました

header("Content-Type: text/html; charset=utf-8");$p = array("name"=>"成龙",array("age"=>55,"cur"=>"电影"));$p_json = json_encode($p);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。