一尘不染

PHP PDO:字符集,设置名称?

mysql

我以前在正常的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));

阅读 340

收藏
2020-05-17

共1个答案

一尘不染

您将在连接字符串中添加它,例如:

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

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

$dbh = new PDO("mysql:$connstr",  $user, $password);
$dbh->exec("set names utf8");
2020-05-17