UTF8字符有一个非常奇怪的问题。发帖时UTF8无法正常工作
我有以下几点:
我所有的文件都是UTF-8
我使用(在我的形式):
accept-charset="utf-8"
我得到:
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
但由于某些原因,当我发布UTF 8个字符,如:ö ä å
然后我回显$ _GET []输出显示:���
感觉就像我尝试过的一切,所有的帮助都非常欢迎! :)
UTF8字符有一个非常奇怪的问题。发帖时UTF8无法正常工作
我有以下几点:
我所有的文件都是UTF-8
我使用(在我的形式):accept-charset="utf-8"
我得到:<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
但由于某些原因,当我发布UTF 8个字符,如:ö ä å
然后我回显$ _GET []输出显示:���
感觉就像我尝试过的一切,所有的帮助都非常欢迎! :)
浏览器将发送数据以相同的编码,您宣布要页。为了进行完整性测试,请运行以下页面:
<?php
header("Content-Type:text/html; charset=utf-8");
$file = basename(__FILE__);
if(isset($_POST['data'])) {
echo $_POST['data'];
}
else {
echo <<<HTML
<form method="POST" action="$file">
<input name="data" type="text">
<input type="submit">
</form>
HTML;
}
将“äöä”写入表单并查看是否正确。如果不是,请检查您的MBSTRING INI值:
<?php
var_dump(
ini_get("mbstring.http_input"),
ini_get("mbstring.http_output"),
ini_get("mbstring.encoding_translation")
);
正确的价值观是:
string(4) "pass"
string(4) "pass"
string(1) "0"
您在标题为发送的Content-Type是什么也很重要。 –
听起来很愚蠢,但你是否在UTF-8编码页面上捕获$ _POST变量? –
是啊,我在UTF-8编码的页面上捕捉它,这是很奇怪:( – Elvin