UTF8字符有一个非常奇怪的问题。
我有以下内容:
我的所有文件都是UTF-8
我正在使用(以我的形式):accept-charset="utf-8"
我得到了:<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
但出于某种原因,当我发布UTF8字符时:ö ä å
然后我回复$ _GET []输出节目:���
感觉就像我尝试了一切,非常欢迎所有的帮助! :)
答案 0 :(得分:7)
浏览器将以您声明的页面相同的编码方式发送数据。要进行健全性测试,请运行此页面:
<?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"