【发布时间】:2013-09-18 07:46:54
【问题描述】:
我对发布这样的 HTML 表单时返回的 POST 值有疑问:
<form action="" method="POST">
<input type="text" name="test">
<input type="submit">
</form>
如果我在输入字段中输入 jöachi@æøåèÆ 并对 $_POST 值进行 var dump,我会得到:
array (size=1)
'test' => string 'jöachi@æøåèÆ' (length=17)
在结果中,您可以看到 è 符号已替换为 ISO Latin-1 代码 è
我怎样才能让它不那样做?
我页面中的编码是 ISO-8859-10,我尝试将其更改为 UTF-8,但没有成功。
我还认为这可能与我的 apache 中的 magic_quotes 有关,但未启用。
任何帮助表示赞赏
【问题讨论】:
-
尝试使用
html_entity_decodephp.net/manual/en/function.html-entity-decode.php -
我做了,但没有帮助。这将解码 HTML 特殊字符,如 æ和 不是 ISO Latin-1 代码:(
-
你是对的 - 试试
htmlspecialchars_decode -
我宁愿重新检查服务器编码设置并将其强制为 utf-8。如果没有,你可以试试php.net/manual/en/function.mb-convert-encoding.php