json_decode()问题
程序员文章站
2022-04-27 21:47:49
...
$vvv='{"subscribe":1,"openid":"ol2E7uLeDEi4VCBwrXI0KRwcvnyo","nickname":"xhm","sex":2,"language":"zh_CN","city":"mñW3","province":"^N","country":"","headimgurl":"http:\/\/wx.qlogo.cn\/mmopen\/PiajxSqBRaELiaLZZTltPhZobM3QcvGyGgRXnAlcPm8iaoWQWvuNuIFZk3kOOeNCQok1W4l6zashSAMfMSiasN4eZhbuib4NXuQNmQuFMn2XBd9M\/0","subscribe_time":1458906765,"remark":"","groupid":0}'; var_dump(json_decode($vvv,true));exit;
转不了,返回值为null,是因为city和province的值 是特殊符号,请问怎样处理?
回复讨论(解决方案)
特殊符号进行转意
应该先解决city和province乱码的问题,再去json_decode,因为手册上说,json_decode必须是utf-8的编码格式。可以尝试用iconv相关函数试试
应该先解决city和province乱码的问题,再去json_decode,因为手册上说,json_decode必须是utf-8的编码格式。可以尝试用iconv相关函数试试
iconv试了,不行 city = 深圳
province = 广东
$vvv = iconv('ucs-2', 'utf-8', $vvv);var_dump(json_decode($vvv,true));需要注意的是,你的 $vvv 必须是原始渠道的来的数据,而不是你贴出的经复制粘贴的数据
原始的 unicode 数据,经过复制粘贴,就无法再恢复了
"city":"mñW3","province":"^N
有不是utf8的数据,需要先处理
city = 深圳
province = 广东
$vvv = iconv('ucs-2', 'utf-8', $vvv);var_dump(json_decode($vvv,true));需要注意的是,你的 $vvv 必须是原始渠道的来的数据,而不是你贴出的经复制粘贴的数据
原始的 unicode 数据,经过复制粘贴,就无法再恢复了
不行啊,我这数据是从微信接口那里得来的,我没有处理过就json_decode了,但是微信那里有些资料的确是有乱码的
上一篇: C#委托使用详解(Delegates)
下一篇: java字符串怎么判断是否为空?