• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 4年前 (2022-01-23) 34次浏览 已收录 0个评论
文章目录[隐藏]

这样就有值:

$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 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(<mark>(本文来)源gaodaimacom搞#^代%!码&网(</mark><pre>搞gaodaima代码

“age”=>55,”cur”=>”电影”));$p_json = json_encode($p);


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:json_encode()函数为什么不能解析带中文的JSON字符串呢?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址