json解析 本帖最后由 zhanghongjun1987 于 2012-04-16 16:23:39 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 json_encode 可以传中文啊,传之前iconv就是了伐. 我现在是通过上面的方法时是可以得到json数据,但是解析不出来,我用var_dump()打印 报null 你把内容作了 url 编码,对方(比如js)拿到后如何知道需要解码呀?你应该在 arrayRecursive 函数里做 iconv('gbk', 'utf-8', $value) 编码转换 一般要这么写,你自己再封装一下$ar = array ( '这里是 GBK 编码的数据', array( '这是一个测试', '这还是一个测试', ),);echo $s = json_encode( array_map('gb2utf',$ar));print_r(array_map('utf2gb', json_decode($s)));function gb2utf($v) { if(! is_array($v)) return iconv('gbk', 'utf-8', $v); foreach($v as &$t) $t = gb2utf($t); return $v; }function utf2gb($v) { if(! is_array($v)) return iconv('utf-8', 'gbk', $v); foreach($v as &$t) $t = utf2gb($t); return $v; }["\u8fd9\u91cc\u662f GBK \u7f16\u7801\u7684\u6570\u636e",["\u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5","\u8fd9\u8fd8\u662f\u4e00\u4e2a\u6d4b\u8bd5"]]Array( [0] => 这里是 GBK 编码的数据 [1] => Array ( [0] => 这是一个测试 [1] => 这还是一个测试 )) 首先将数组转成utf-8的就可以编码中文了,没必要去写很多其它代码 如何将数组用自定义函数排序后重新生成一个新数组? 求助:关于PHP文件下载的问题 上传PHP文件到服务器问题 急!`~~ php 按表头排序 php对表单的处理.... include怎么传参 [简单的问题]可以使用正则表达式返回关键字符在查询字符串中的位子吗? 请php高手来分析一个项目? js 里面引用PHP返回的数据,为什么不会自己更新呢? 如何用php获得某网址的请求总数 请教各位大侠一个appserv的问题! PHP怎么把字符串里<div>变成转义字符
'这里是 GBK 编码的数据',
array(
'这是一个测试',
'这还是一个测试',
),
);echo $s = json_encode( array_map('gb2utf',$ar));
print_r(array_map('utf2gb', json_decode($s)));
function gb2utf($v) {
if(! is_array($v)) return iconv('gbk', 'utf-8', $v);
foreach($v as &$t) $t = gb2utf($t);
return $v;
}function utf2gb($v) {
if(! is_array($v)) return iconv('utf-8', 'gbk', $v);
foreach($v as &$t) $t = utf2gb($t);
return $v;
}["\u8fd9\u91cc\u662f GBK \u7f16\u7801\u7684\u6570\u636e",["\u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5","\u8fd9\u8fd8\u662f\u4e00\u4e2a\u6d4b\u8bd5"]]Array
(
[0] => 这里是 GBK 编码的数据
[1] => Array
(
[0] => 这是一个测试
[1] => 这还是一个测试
))