我有一个问题,在我的生产服务器中,包含非标准ascii字符的帖子请求中的所有文本都被破坏,而编码是utf-8。在我的开发服务器上,文本显示正常。
print(mb_detect_encoding($_POST["text"]));
print($_POST["text"]);
输出是:
utf-8
Ã?Ã?Ã? Ã?Ã?Ã? Ã?Ã?Ã?
输入为ÅÅÅ ÄÄÄ ÖÖÖ
我在头部使用<meta charset="UTF-8">
,在表单中使用accept-charset="UTF-8"
。
<form id="announcement_form" method="post" action="php/announcment_bar.php" accept-charset="UTF-8">
答案 0 :(得分:0)
从link给我的Obsidian Age问题是php.ini
default_charset.自5.6以来default_charset
的默认值设置为UTF-8
到 this->setMouseTracking(true);
。这就是它在我的开发服务器上工作的原因。但是,由于生产服务器较旧并且在5.6之前安装,因此使用旧的默认值(无/已注释掉)。