我有一个列title
,其格式为CHAR(50)utf_genral_ci。我有一个php脚本,成功插入一个title
值为“Bjørn”的新行。
当我想再次将其拉出时,会出现问题。一旦将其分配给变量,字符串就是“Bjørn”。
有些人指向mb _ *(),但是因为当我从表单中检索它并插入它时它不是问题,但只有当我从mysql中检索它时,我才相信它可以是它。
我已经确定它实际上在mysql中正确编码,并且服务器,数据库,表,列和连接都是UTF-8。
请有人救我脱离这场噩梦!
提前致谢
答案 0 :(得分:1)
原来是因为我在我的字符串上使用了php函数htmlentities()。自从我上次尝试以来非常奇怪,它也从数据库输出错误的直接。
我整天都遇到了这个问题,所以一个问题的解决方案又造成了另一个问题。
感谢您抽出宝贵时间。
答案 1 :(得分:0)
您是否使用phpMyAdmin或MySQL Workbench等管理工具检查数据库中的值?如果显示不正确,请尝试使用iconv ($in_charset, 'utf-8', $str)
将名称转换为utf-8。如果正确,请确保浏览器中的编码设置为UTF-8。