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 是配置文件中的默认设置。从此一切安好!
我有一个数据库,我 运行 使用 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 是配置文件中的默认设置。从此一切安好!