我做了一些测试,当我测试这个时,似乎:
http://127.0.0.1/test.php?x={some non-english string}
http://127.0.0.1/test.php?x=الapple
通过检查以下输出:
echo bin2hex($_GET["x"]);
在
Firefox
&Chrome
中,我得到了字符串的 UTF-8 表示d8a7d9846170706c65
。$_GET['x']
多变的。在IE
,我得到3f3f6170706c65
。这是错误的
而且我知道 PHP 不会更改编码,只会将字符串视为字节数组。
问题是:
这是由使用的浏览器控制的吗?
始终假设输入为 UTF-8 编码是否可靠?
有没有办法管理浏览器发送到服务器的编码?跨所有浏览器?