json_decode()问题

php中文网
发布: 2016-06-23 13:09:32
原创
1345人浏览过

        $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的值 是特殊符号,请问怎样处理?

AI建筑知识问答
AI建筑知识问答

用人工智能ChatGPT帮你解答所有建筑问题

AI建筑知识问答 22
查看详情 AI建筑知识问答


回复讨论(解决方案)

特殊符号进行转意

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

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号