Home > Backend Development > PHP Tutorial > json_decode中文的有关问题

json_decode中文的有关问题

WBOY
Release: 2016-06-13 11:58:08
Original
934 people have browsed it

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 />
Copy after login


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 '
Copy after login
'
?>

[{"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
        )

)

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template