【发布时间】:2011-07-26 00:14:55
【问题描述】:
我创建了一个小的 HTML 表单并将其保存为 UTF-8-encoded PHP 文件:
<!DOCTYPE html>
<html>
<head><title>My form</title></head>
<body>
<h1>My form</h1>
<form method="post">
<input type="text" name="myfield" /><br />
<input type="submit" value="Send" />
</form>
</body>
</html>
但是,如果我在文本字段中输入Öst 并发布它,瑞典字母Ö 会被删除,所以当我使用$_POST['name'] 阅读它时,我只会得到st。我正在使用 CodeIgniter PHP 框架,如果我使用 $this->input->post('name'); 阅读它,我会得到相同的结果,只有 st。
为什么会出现这个问题? CodeIgniter 会去掉我的瑞典字母还是我的字符编码有问题?
更新:我在标题中添加了一个元标记<meta charset="utf-8" \>,现在它可以工作了。
【问题讨论】:
-
你在 PHP 端使用什么环境?
-
@powtac:正如我在问题中所写,我同时使用了
$_POST['name']和$this->input->post('name');。 -
如果您找到了解决方案,请标记帮助您的人,或者发布您自己的解决方案并将其标记为 SO 方式的答案。
标签: php codeigniter post utf-8 character-encoding