php同樣的字串為什麼編碼會不同?
保哥后院
保哥后院 2019-05-06 12:50:40
0
2
998
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)
Peter-Zhu

針對不同字元集, 會有不同的編碼方案, 現在通用的是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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板