首页 > 数据库 > mysql教程 > 如何使用 PDO 和 MySQL 修复损坏的 UTF-8 编码?

如何使用 PDO 和 MySQL 修复损坏的 UTF-8 编码?

Linda Hamilton
发布: 2024-11-03 19:23:29
原创
586 人浏览过

How to Fix Broken UTF-8 Encoding with PDO and MySQL?

使用 PDO 和 MySQL 修复损坏的 UTF-8 编码

在 PHP 中将 PDO 与 MySQL 数据库一起使用时,插入 UTF-8 编码数据经常会导致数据库出现乱码或者问号。这可能是一个令人沮丧的问题,尤其是在处理阿拉伯语等语言时。

要解决此问题,只需从一开始就将 MySQL 连接设置为使用 UTF-8 编码即可。具体方法如下:

PHP 代码:

<code class="php">$pdo = new PDO(
    'mysql:host=hostname;dbname=defaultDbName',
    'username',
    'password',
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);</code>
登录后复制

警告: 此解决方案仅适用于 PHP 版本 5.3.5及以下。对于 PHP 版本 5.3.6 及更高版本,请参阅原始线程上提供的替代答案。

通过将初始命令设置为“SET NAMES utf8”,PDO 在建立连接后自动将此查询发送到服务器,确保所有后续查询都使用 UTF-8 编码。这样就无需在建立连接后进行额外的 SET NAMES 或 SET CHARACTER SET 查询。

以上是如何使用 PDO 和 MySQL 修复损坏的 UTF-8 编码?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板