Codeigniter + Mysql =口音没有正确保存
我有一个数据库,我使用MySql和codeigniter混合使用英文和法文名称。Codeigniter + Mysql =口音没有正确保存
Andrée这样的法国名字回到Andrée,其他各种显然不正确。
我该如何防止这种情况发生,并且我们可以放入Andrée并让Andrée回来?
谢谢!
原来,我不得不告诉php utf-8是配置文件中的默认值。一切都很好!
如果你的数据库设置被设置为UTF-8(并且你的评论是这样的话),你可能会看到这些奇怪的字符,因为你的页面不是以UTF-8的形式呈现的。
UTF-8文档应该带有Content-Type头文件来说明它们应该被解析为什么编码。要添加这个头,你可以之前或视图后添加以下代码/ S得到加载:
$this->output->set_content_type('text/html; charset=utf-8');
在你的文档,你应该添加以下行:
<meta charset="utf-8">
如果您渲染文本只有这样你才会想将标题的text/html
这部分改为更合适的东西,比如text/plain
。
我查看了Phpmyadmin中的数据库值,它具有正确的口音和拼写,所以它现在是Codeigniter方面的问题。 这已经在我的头我的所有意见“” 当我把“$ this-> output-> set_content_type('text/html; charset = utf-8');”“在我加载视图之前的控制器中。 – JonYork 2015-02-10 13:02:35
它应该在逻辑上工作,但没有看到完整的设置,我会建议使用函数'htmlentities()'(http://php.net/htmlentities)来显示UTF-8名称。交给浏览器的代码应该显示'Andr eeute; e'而不是'Andrée'。 – 2015-02-10 22:41:14
你有没有把你的mysql数据库设置为UTF-8/Unicode? – 2015-02-10 00:39:13
[UTF-8直通]可能的重复(http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) – 2015-02-10 00:43:00
表排序规则Utf8_unicode_ci,行排序规则是UTF8_Unicode_CI,codeigniter数据库设置,设置为Utf8_unicode_ci 我错过了什么吗? – JonYork 2015-02-10 01:16:43