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