json_decode中文的问题! php的json好像只支持utf-8,别的编码用iconv先转一下吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $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}]';$r = json_decode($str);echo '<pre>';print_r($r);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。<?php$arr = array ( array ( 'category_name' => '类别1', 'parent_cid' => 0, 'lev' => 1, 'cid' => 1, 'display_order' => 1, ), array ( 'category_name' => '类别2', 'parent_cid' => 0, 'lev' => 1, 'cid' => 2, 'display_order' => 2, ));echo json_encode($arr).'<br>';echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';echo '<pre>';print_r(json_decode(json_encode($arr),true));echo '</pre>'?>[{"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 )) COOKIES和SESSION登录问题 wordpress中文章页面中执行PHP连接MYSQL数据库出错 CI架框下url怎么传值 求教!linux下什么编辑器好?我做PHP开发..... 一个SQL语句的问题 php怎么比较两个日期的大小? 上传问题 求救!关于时间的计算问题! 怎样判断一个提交来的表单是不是来自于本站的文件? 送分题! intval遇到小数为什么会减1 空间商PHP版本由5.2升级到5.4以后,网站后台就无法登录了,在线求解
$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}]';
$r = json_decode($str);
echo '<pre>';print_r($r);
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
))
正常情况下中文应该是编码过的。
如果不能改变文件保存的编码,把中文转码处理下就可以了。
用json_encode生成的会将中文转utf8。<?php
$arr = array (
array (
'category_name' => '类别1',
'parent_cid' => 0,
'lev' => 1,
'cid' => 1,
'display_order' => 1,
),
array (
'category_name' => '类别2',
'parent_cid' => 0,
'lev' => 1,
'cid' => 2,
'display_order' => 2,
)
);echo json_encode($arr).'<br>';echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
echo '<pre>';
print_r(json_decode(json_encode($arr),true));
echo '</pre>'
?>[{"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
))