• 技术文章 >后端开发 >php教程

    二维码解析后文字乱码

    2016-06-23 13:46:16原创801
    如图二维码
    扫描后解析出来是乱码
    urlencode后是如下内容
    %C2%B0%C3%99%C2%B6%C3%88%C2%B0%C3%99%C2%BF%C3%86%C2%A3%C2%AD%C2%B6%C3%BE%C3%8E%C2%AC%C3%82%C3%AB%C2%B4%C3%8A%C3%8C%C3%B5
    我用微信扫描解析却是可以的
    内容是"百度百科-二维码词条"
    这是经过了什么编码处理过么?怎么才能得到真正的结果?


    回复讨论(解决方案)

    http://cli.im/deqr
    使用这个解析器也是

    $s = '%C2%B0%C3%99%C2%B6%C3%88%C2%B0%C3%99%C2%BF%C3%86%C2%A3%C2%AD%C2%B6%C3%BE%C3%8E%C2%AC%C3%82%C3%AB%C2%B4%C3%8A%C3%8C%C3%B5';$s = urldecode($s);echo utf8_decode($s);
    百度百科-二维码词条

    解得的串是 gbk 编码的

    大神现身立马解决问题了,
    现在还有一个疑问,请问我应该如何判断什么时候应该用utf8_decode呢

    这样判断能看明白吗

    $s = '%C2%B0%C3%99%C2%B6%C3%88%C2%B0%C3%99%C2%BF%C3%86%C2%A3%C2%AD%C2%B6%C3%BE%C3%8E%C2%AC%C3%82%C3%AB%C2%B4%C3%8A%C3%8C%C3%B5';$s = urldecode($s);if(mb_check_encoding('utf-8')) {  $n = 0;  for($i=0; $i strlen($s)/2 * 0.8) $s = utf8_decode($s);}echo $s;

    其实直接统计原串中 %C 的个数也是一样的

    我刚才自己尝试的用mb_detect_encoding(utf8_decode('阿萨德asda'))=='ASCII' 这样来判断需要用
    不知道这样精确不

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:PHP关于文件与目录(1) 写入文件 文件权限 三、锁定文件 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 工具包分享:PHP实现滑块验证图片• Symfony2函数用法实例分析,symfony2实例分析_PHP教程• Drupal读取Excel并导入数据库实例_PHP教程• PHP中的SimpleXML处理_PHP教程• PHP页面跳转与跨站提交伪造Referer地址来源_PHP教程
    1/1

    PHP中文网