UTF-8字符串在某处错误编码

时间:2011-01-29 19:00:16

标签: php mysql encoding utf-8 character-encoding

我有一个列title,其格式为CHAR(50)utf_genral_ci。我有一个php脚本,成功插入一个title值为“Bjørn”的新行。

当我想再次将其拉出时,会出现问题。一旦将其分配给变量,字符串就是“Bjørn”。

有些人指向mb _ *(),但是因为当我从表单中检索它并插入它时它不是问题,但只有当我从mysql中检索它时,我才相信它可以是它。

我已经确定它实际上在mysql中正确编码,并且服务器,数据库,表,列和连接都是UTF-8。

请有人救我脱离这场噩梦!

提前致谢

2 个答案:

答案 0 :(得分:1)

原来是因为我在我的字符串上使用了php函数htmlentities()。自从我上次尝试以来非常奇怪,它也从数据库输出错误的直接。

我整天都遇到了这个问题,所以一个问题的解决方案又造成了另一个问题。

感谢您抽出宝贵时间。

答案 1 :(得分:0)

您是否使用phpMyAdmin或MySQL Workbench等管理工具检查数据库中的值?如果显示不正确,请尝试使用iconv ($in_charset, 'utf-8', $str)将名称转换为utf-8。如果正确,请确保浏览器中的编码设置为UTF-8。