使用 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中文网其他相关文章!