PHP PDO : charset, 设置名称?

标签 php mysql pdo

我之前在正常的 mysql_* 连接中有这个:

mysql_set_charset("utf8",$link);
mysql_query("SET NAMES 'UTF8'");

我需要 PDO 吗?我应该在哪里得到它?

$connect = new PDO("mysql:host=$host;dbname=$db", $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

最佳答案

您将在连接字符串中包含它,例如:

"mysql:host=$host;dbname=$db;charset=utf8mb4"

但是,在 PHP 5.3.6 之前,字符集选项被忽略。如果您运行的是旧版本的 PHP,则必须这样做:

$dbh = new PDO("mysql:host=$host;dbname=$db",  $user, $password);
$dbh->exec("set names utf8mb4");

关于PHP PDO : charset, 设置名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43461598/

相关文章:

PHP PDO MySQL 在没有行受到影响时检查更新查询是否成功的正确方法

php - 错误 "Uncaught PDOException",即使我使用 try-catch

php - 使用PHP提交表单后将数据传递到另一个页面

javascript - 使用 AJAX 和联系表单来消除页面重新加载

c# - 应用程序中的服务器错误 '/demo'

mysql - phpMyAdmin SQL 导入傻瓜教程

mysql - 如何在某些状态更改时排除增加 counter_cache?

php - Mysqli 准备语句 + 绑定(bind) Order BY

php - 在 OS X 10.6.6 : Invalid library (maybe not a PHP library) intl. 上安装 intl 所以

php - 打开购物车显示已弃用 : mysql_connect() message on top