【发布时间】:2013-04-09 12:44:58
【问题描述】:
如何在 PHP 中将接收到的 http 变量的字符集设置为 UTF-8?
我有一个使用 POST 方法和 1 个输入字段的 html 表单。但是当我提交表单并通过$_POST['input_name'] 回显从输入字段中检索到的内容时,我得到了这个:KrkiÄ - 但我输入(并且我需要)这个:Krkič
那么我该如何解决这个问题?
我现在想通了。 :)
如果我想将内容添加到 MYSQL,那么我需要添加:
if(!$mysqli->set_charset("utf8")){
printf("Error loading character set utf8: %s\n",$mysqli->error);
}
如果我只需要回显内容然后添加此元标记
<meta charset="utf-8">
进入html头就够了。
【问题讨论】:
-
您是否在 HTTP 标头中设置了字符集? (即
header('Content-Type: text/html; charset="UTF-8"');)。此外,当使用 htmlentities() 函数时,您可以使用htmlentities($string, ENT_COMPAT, "UTF-8")调用它 -
您使用 Apache 作为网络服务器吗?
-
在您的 IDE 中更改它。
-
在浏览器/html 文件中显示它不是问题。当我尝试通过 POST 表单将某些内容添加到我的数据库(MYSQL)中时,就会出现问题。如果我只是 ECHO 内容,那么一切正常。
-
我现在试试
header('Content-Type: text/html; charset="UTF-8"');。 1 时刻。 :)