PDO 和 MySQL 中的 UTF-8 编码问题解释
在 PHP 中使用 PDO 和 MySQL 时,用户可能会遇到插入 UTF 的问题-8编码数据存入数据库。数据显示为乱码“?”插入时的字符。此问题源于缺乏正确的 UTF-8 字符集配置。
要解决此问题,在建立 PDO 连接后执行 SET NAMES 和 SET CHARACTER SET 查询至关重要。但是,在某些情况下,仅靠这些查询可能无法解决问题。
根据提供的答案,建议采用替代方法:
<code class="php">$pdo = new PDO( 'mysql:host=hostname;dbname=defaultDbName', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );</code>
通过添加 PDO:: MYSQL_ATTR_INIT_COMMAND 选项,PDO 连接初始化期间强制使用 UTF-8。该方法通过确保数据库连接从一开始就设置为UTF-8,有效解决了UTF-8编码问题。
以上是如何修复 PDO 和 MySQL 中的 UTF-8 编码问题?的详细内容。更多信息请关注PHP中文网其他相关文章!