【问题标题】:PHP and MySQLi UTF8PHP 和 MySQLi UTF8
【发布时间】:2012-02-07 03:08:19
【问题描述】:

我有一些表设置为utf8_general_ci,并且正在使用PHP 的mysqli 驱动程序,字符集设置为'utf8'。我将 default_charset 也设置为 UTF-8

但是,字符被替换为“\u0101l

知道这是什么或如何解决它吗?在我没有使用 utf8 的 mysqli 之前,它只是显示一个问号,而不是菱形问号 - 只是一个普通的“?”

谢谢!

【问题讨论】:

  • 你的 PHP 文件编码怎么样?也是 UTF-8 吗?
  • AFAIK MySQL 永远不会对您的字符进行 JSON 编码。请逐步调试到底是什么时候发生的。

标签: php utf-8 mysqli


【解决方案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/

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2012-05-07
    • 2017-02-17
    • 2016-05-31
    • 2015-09-22
    • 2021-02-11
    • 2011-02-22
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多