json_decode中文的有关问题
Jun 13, 2016 am 11:58 AM
json_decode中文的问题!
有如下的字符串:
[{"category_name":"类别1","parent_cid":0,"lev":1,"cid":1,"display_order":1},{"category_name":"类别2","parent_cid":0,"lev":1,"cid":2,"display_order":2}]
用json_decode转换成数组的时候就返回null, 查了一下是因为json_decode不支持中文。
如何才能将它转换成数组那?
网上查了很多方法都不行。
哪位提供个有效的方案啊。(不能改变文件的编码)
谢谢
------解决方案--------------------
你这个字符串是来自哪?剪辑器输入的还是从其他地方获取的?
------解决方案--------------------
php的json好像只支持utf-8,别的编码用iconv先转一下吧
------解决方案--------------------
<br />$str = '[{"category_name":"类别1","parent_cid":0,"lev":1,"cid":1,"display_order":1},{"category_name":"类别2","parent_cid":0,"lev":1,"cid":2,"display_order":2}]';<br />$r = json_decode($str);<br />echo '<pre class="brush:php;toolbar:false">';print_r($r);<br />
Array
(
[0] => stdClass Object
(
[category_name] => 类别1
[parent_cid] => 0
[lev] => 1
[cid] => 1
[display_order] => 1
)
[1] => stdClass Object
(
[category_name] => 类别2
[parent_cid] => 0
[lev] => 1
[cid] => 2
[display_order] => 2
)
)
------解决方案--------------------
所有編碼都設置為UTF-8就沒啥問題 json只支持UTF-8編碼的中文.
------解决方案--------------------
为什么你的JSON字符串里会有中文?自己拼装的吗?
正常情况下中文应该是编码过的。
如果不能改变文件保存的编码,把中文转码处理下就可以了。
------解决方案--------------------
你的json是自己写的而不是用json_encode生成的吧。
用json_encode生成的会将中文转utf8。
<br /><?php<br />$arr = array (<br /> array (<br /> 'category_name' => '类别1',<br /> 'parent_cid' => 0,<br /> 'lev' => 1,<br /> 'cid' => 1,<br /> 'display_order' => 1,<br /> ),<br /> array (<br /> 'category_name' => '类别2',<br /> 'parent_cid' => 0,<br /> 'lev' => 1,<br /> 'cid' => 2,<br /> 'display_order' => 2,<br /> )<br />);<br /><br />echo json_encode($arr).'<br>';<br /><br />echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';<br />echo '<pre class="brush:php;toolbar:false">';<br />print_r(json_decode(json_encode($arr),true));<br />echo '
?>
[{"category_name":"\u7c7b\u522b1","parent_cid":0,"lev":1,"cid":1,"display_order":1},{"category_name":"\u7c7b\u522b2","parent_cid":0,"lev":1,"cid":2,"display_order":2}]
Array
(
[0] => Array
(
[category_name] => 类别1
[parent_cid] => 0
[lev] => 1
[cid] => 1
[display_order] => 1
)
[1] => Array
(
[category_name] => 类别2
[parent_cid] => 0
[lev] => 1
[cid] => 2
[display_order] => 2
)
)

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Solution: Your organization requires you to change your PIN

How to adjust window border settings on Windows 11: Change color and size

How to change title bar color on Windows 11?

How to enable or disable taskbar thumbnail previews on Windows 11

OOBELANGUAGE Error Problems in Windows 11/10 Repair

What are the differences between Huawei GT3 Pro and GT4?

10 Ways to Adjust Brightness on Windows 11
