PDO 和 MySQL 的 UTF-8 编码问题
使用 PDO 和 MySQL 数据库时,用户可能会遇到 UTF-8 编码问题编码数据未正确插入或检索,而是显示为问号 (?????????)。这是由于数据库配置和 PHP 设置的差异造成的。
可能的解决方案:通过 PDO 配置设置 UTF-8
一个有效的解决方案是设置 UTF-8 PDO 连接初始化期间的字符集和排序规则。通过将以下代码添加到 PDO 构造函数,将强制执行 UTF-8 编码:
$pdo = new PDO( 'mysql:host=hostname;dbname=defaultDbName', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );
此方法可确保在连接上显式启用 UTF-8,无论以前的数据库或 PHP 设置如何。
以上是如何修复 PDO 和 MySQL 的 UTF-8 编码问题?的详细内容。更多信息请关注PHP中文网其他相关文章!