PHP和MySQLi UTF8

时间:2012-02-07 03:08:20

标签: php utf-8 mysqli

我有一些表设置为utf8_general_ci并使用PHP的mysqli驱动程序,charset设置为“utf8”。我的default_charset也设置为UTF-8

但是,字符正在替换为“\u0101l

知道这是什么或如何修复它?在我没有使用utf8的mysqli之前它只是显示一个问号,而不是一个钻石问号 - 只是一个普通的'?'

谢谢!

1 个答案:

答案 0 :(得分:1)

我很确定你在某处使用“htmlentities()”或“html_entity_decode()”。问题是,htmlentities()仍然试图将其输入解释为ISO-8859-1,而html_entity_decode()现在默认为UTF-8。解决方案:如果您使用上面列出的任何这些功能,请每次都明确指定编码类型。我遇到了这个问题,我的一位同事也写了一篇关于这个问题的文章http://lab.clearpixel.com.au/2012/01/html-entity-character-conversion-in-php/

我希望它有所帮助