登录  /  注册
php同样的字符串为什么编码不同?
保哥后院
保哥后院 2019-05-06 12:50:40
[PHP讨论组]
header("Content-type:text/html;charset=utf-8");
$secret1 = "rZa9GneIzd9MNyoTv/Ghpk2V6ZHD0KeQC7t0ymEH7cI=";
$secret2 = 'rZa9GneIzd9MNyoTv/Ghpk2V6ZHD0KeQC7t0ymEH7cI=';
$secret3 = 'rZa9GneIzd9MNyoTv/Ghpk2V6ZHD0KeQC7t0ymEH7cI=';

var_dump(trim($secret1));
echo "<br>";
var_dump(trim($secret2));
echo "<br>";
var_dump($secret3);
echo "<br>";
echo mb_detect_encoding($secret1, array("ASCII", "UTF-8", "GB2312", "GBK", "BIG5"));
echo "<br>";
echo mb_detect_encoding($secret2, array("ASCII", "UTF-8", "GB2312", "GBK", "BIG5"));
echo "<br>";
echo mb_detect_encoding($secret3, array("ASCII", "UTF-8", "GB2312", "GBK", "BIG5"));

同样的字符串,在检测编码时,显示的编码不同,是什么问题导致的?

20190506123102.png

保哥后院
保哥后院

漏刻有时,数据可视化大屏。

全部回复(1)
天蓬老师

针对不同字符集, 会有不同的编码方案, 现在通用的是UTF8

  • 回复 谢谢Peter-Zhu 老师。这是在phpstorm中用AES产生的一段加密代码,发现解密的过程中字符串的长度和编码方式都不一样了。现在在解决编程的过程中,如何避免出现这样的问题。目前可使用清除文件中的BOM特殊不可见字符,解决的function removeBom($string) { if (substr($string, 0, 3) == pack("CCC", 0xef, 0xbb, 0xbf)) { return substr($string, 3); } return $string; }
    保哥后院 作者 2019-05-07 10:28:21
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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