PDO: 需要设置字符集和集合名称吗?
以前使用mysql_*函数时,需要设置设置字符集并执行 SET NAMES 查询以确保正确的字符编码。同样的原则也适用于 PDO 连接。
PDO 选项
对于 PDO 连接,您可以将字符集指定为连接字符串的一部分:
$connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
PHP 之前的版本5.3.6
如果您使用 5.3.6 版本之前的 PHP,则字符集选项将被忽略。在这种情况下要设置字符集,您必须使用 PDO 的 exec() 方法:
$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $password); $dbh->exec("set names utf8mb4");
通过设置字符集,您可以确保您的应用程序使用正确的字符编码与数据库进行通信,从而避免数据损坏和显示问题。
以上是PDO 和 MySQL:我应该在连接字符串中设置字符集还是使用'SET NAMES”?的详细内容。更多信息请关注PHP中文网其他相关文章!