首页  >  文章  >  数据库  >  为什么在 MySQL 中使用 PDO 时,我的 UTF-8 编码数据显示为乱码?

为什么在 MySQL 中使用 PDO 时,我的 UTF-8 编码数据显示为乱码?

Barbara Streisand
Barbara Streisand原创
2024-11-04 13:17:011047浏览

Why does my UTF-8 encoded data appear as gibberish when using PDO with MySQL?

PDO MySQL UTF-8 编码问题

问题:在 PHP、UTF 中将 PDO 与 MySQL 数据库结合使用时插入数据库的 -8 编码数据显示为乱码。

可能原因:

  • 数据库连接建立过程中字符集和编码设置处理不正确。

解决方案:

  • 在数据库连接初始化时确保正确的字符集和编码配置。使用以下语法:
<code class="php">$pdo = new PDO( 
    'mysql:host=hostname;dbname=defaultDbName', 
    'username', 
    'password', 
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") 
); </code>

此行在 PDO 连接上强制使用 UTF-8 编码并解决编码问题。

警告: 此解决方案适用于 PHP 5.3.5 及更早版本。对于 PHP 5.3.6 及更高版本,请参阅其他地方提供的替代解决方案。

以上是为什么在 MySQL 中使用 PDO 时,我的 UTF-8 编码数据显示为乱码?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn