Codeigniter + Mysql = 重音未正确保存

Codeigniter + Mysql = accents not being saved properly

我有一个数据库,我 运行 使用 MySql 和 codeigniter,其中混合了英文和法文名称。

像 Andrée 这样的法国名字又变成了 Andrée,还有其他各种明显不正确的名字。

我如何防止这种情况发生,以及我们可以将安德烈送回并让安德烈回来?

谢谢!

如果您的数据库设置设置为 UTF-8(从您评论的声音来看就是),您可能会看到这些奇怪的字符,因为您的页面未呈现为 UTF-8。

UTF-8 文档应该带有 Content-Type header 来说明它们应该被解析为什么编码。要添加此 header,您可以在 view/s 加载之前或之后添加以下代码:

$this->output->set_content_type('text/html; charset=utf-8');

在您的文档中,您应该添加以下行:

<meta charset="utf-8">

如果您只渲染文本,那么您需要将 header 中显示 text/html 的部分更改为更合适的内容,例如 text/plain.

原来,我不得不告诉 php utf-8 是配置文件中的默认设置。从此一切安好!