【发布时间】:2014-03-15 16:50:04
【问题描述】:
我的脚本中有一个小表单,我的(德国)用户应该在其中输入一些文本。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
....
<body>
<form method="post" accept-charset="utf-8" action="<?php
echo htmlentities($_SERVER['PHP_SELF']);
?>
">
....
</form>
...
<h3>Möchten Sie noch....?</h3>
<p>Hier können Sie dies das...
Es heißt, man soll....
</p>
第一次进入页面时文字是ok的。但是提交表单后,字符集是错误的。所有的“Ö”、“ä”、“ß”等将不再正确显示。
我也试过ISO-8859-15,但没有效果。
在 MYSQL 数据库中也会出现同样的问题。字母没有正确插入,虽然搭配是utf8_general_ci。
查询SHOW VARIABLES LIKE 'char%' 返回:
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
【问题讨论】:
-
这可能与dba.stackexchange.com更相关
标签: php mysql forms character-encoding