Mengapa rentetan yang sama dikodkan secara berbeza dalam PHP?
保哥后院
保哥后院 2019-05-06 12:50:40
0
2
996
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"));

Rentetan yang sama memaparkan pengekodan yang berbeza apabila mengesan pengekodan Apakah masalahnya?

20190506123102.png

保哥后院
保哥后院

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

membalas semua(1)
Peter-Zhu

Untuk set aksara yang berbeza, akan ada skema pengekodan yang berbeza Yang semasa ialah UTF8

  • balas Terima kasih, Cikgu Peter-Zhu. Ini adalah kod penyulitan yang dijana menggunakan AES dalam phpstorm Didapati bahawa panjang dan kaedah pengekodan rentetan adalah berbeza semasa proses penyahsulitan. Sekarang dalam proses menyelesaikan pengaturcaraan, bagaimana untuk mengelakkan masalah sedemikian. Pada masa ini, anda boleh menggunakan aksara khas BOM yang tidak kelihatan dalam fail untuk mengosongkan fungsi removeBom($string) { if (substr($string, 0, 3) == pack("CCC", 0xef, 0xbb, 0xbf)) { return substr($string, 3 } return $string }
    保哥后院 pengarang 2019-05-07 10:28:21
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan