json_decode() の問題

WBOY
WBOYオリジナル
2016-06-23 13:09:321215ブラウズ

        $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了,但是微信那里有些资料的确是有乱码的

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。