Heim > Backend-Entwicklung > PHP-Tutorial > json_encode()函数为什么不能解析带中文的JSON字符串呢?

json_encode()函数为什么不能解析带中文的JSON字符串呢?

WBOY
Freigeben: 2016-06-23 14:11:50
Original
1222 Leute haben es durchsucht

这样就有值:

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


这样就返回NULL:
$a = '{ "a":"你好", "b":2}';$arr = json_decode($a, true);
Nach dem Login kopieren


为什么出现这种情况呢?该怎么解析带中文的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] => 电影 ) )
Nach dem Login kopieren

json中的中文都被转码了:
PHP code

$p = array("name"=>"成龙",array("age"=>55,"cur"=>"电影"));
$p_json = json_encode($p);
echo $p_json."
";
#{"name":"\u6210\u9f99","0":{"age":55,"cur":"\u7535\u5f71"}}
#\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);
Nach dem Login kopieren

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage