我的数据库中有重音数据。如下图所示
当我想用我的控制器显示数据时它给了我这个 这是代码
header('Content-Type: text/html; charset=utf-8');
$icozim=$this->Icozim->find('all');
debug($icozim,0,0);
当我运行我的功能时,我有这个
我该如何解决这个问题?
我的表的SQL是
CREATE TABLE `icozims` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`synonymes` MEDIUMTEXT NOT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
答案 0 :(得分:4)
在APP/Config/database.php
寻找专栏:
// 'encoding' => 'utf8',
并取消注释。
答案 1 :(得分:-1)
您需要涵盖几件事。所有这些编码都必须相同(正确分配)。然后你可以正确检索符号或特殊字符。
编码您用于数据库的文件
同时编码您用于表
对HTML标头进行编码
在检索/打印/保存数据时对PHP代码进行编码。 还有一些你可以玩的功能为你做的。 例如mb_convert_encoding($ value,'UTF-8','HTML-ENTITIES')
如果您使用任何类型的框架,您可能需要在核心类中设置编码
如果您的数据已使用此特定符号保存,则需要编辑所有这些数据或编写一个函数将其转换为您想要显示的符号或字符。我记得我的wordpress一个项目遇到了同样的问题,我们手动删除了所有项目,但之后我发现有一篇文章说有一个插件可以自动解决这个问题。