【问题标题】:PHP and MySQL encoding UTF8PHP 和 MySQL 编码 UTF8
【发布时间】:2013-04-05 22:33:48
【问题描述】:

大家好;

我们在字符编码方面遇到了一些奇怪的问题:

我们正在使用带有 UTF+8 的 Notepad++,没有 BOM,并将信息发送到数据库 (mysql):

当插入:“análisis”时,它会插入“análisis”

有人知道这是怎么回事吗?

提前致谢!

--

编辑:如果我手动将信息插入到 MySQL 表中,它可以正常工作。

【问题讨论】:

  • 您在将数据插入到的字段中使用的字符集是什么?
  • 要么 (1) 您没有将 MySQL 的连接字符集设置为 utf-8 (2) 它实际上设置了正确的值,但您没有查看界面显示 它是 utf-8 或 (3) 好吧,在你忘记使用 utf-8 的链中的其他地方。

标签: php mysql encoding utf-8


【解决方案1】:

UTF8 EN/DECODE 可能是你需要的,Leer > PHP UTF8 EN/DECODE

还有 mysql_query("SET NAMES utf8");

【讨论】:

    【解决方案2】:

    试试这个查询:

    SET NAMES utf8
    

    并发送明确的 UTF-8 标头:

    header('Content-type: text/html; charset=utf-8');
    

    【讨论】:

      【解决方案3】:

      您需要验证列的字符编码(或者在列上明确定义,或者使用表/数据库默认值)。还要确保在插入之前没有任何编码不安全的函数正在修改字符串。

      【讨论】:

        【解决方案4】:

        我认为您需要更新数据库字符集如下:

        ALTER DATABASE db_name DEFAULT CHARACTER SET 'utf8';
        

        我希望这对你有用!

        【讨论】:

        • 感谢 Mohamed Elbou,数据库编码工作正常,是 PHP 在某处出现故障。
        猜你喜欢
        • 1970-01-01
        • 2018-12-27
        • 1970-01-01
        • 2012-02-21
        • 2012-10-20
        • 2011-12-10
        • 2012-07-26
        • 2013-06-11
        相关资源
        最近更新 更多