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

然而,在PHP5.3.6之前,字符集选项被忽略.如果您运行的是旧版本的PHP,则必须这样做:

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

Php相关问答推荐

Woocommerce显示特定产品的自定义 checkout 字段

如何使用查询范围在Statamic中按组过滤用户?

自定义WooCommerce查询字符串仅显示前3个产品

如何在Woocommerce中禁用机器人添加到推车?

在WooCommerce管理订单列表中显示项目总权重

Laravel关系-为用户获取属于组织的所有团队

如何在php中生成包含第100秒的时间序列?

在WooCommerce中设置带有国家/地区和年份前缀的顺序序号

如何从phpseclib和SFTP获取日志(log)记录?

Mockery在模拟Redis连接时抛出错误:Mockery\Exception\BadMethodCallException

在WooCommerce中以编程方式添加特定产品后,将价格设置为零

在具有Angular 的 Laravel 应用程序中,不显示图像

API 平台 - UI 服务器端点定义

PHP Laravel 迁移文件不创建关系

WooCommerce 相关产品(按 children 类别)作为排名数学主要类别的后备

如何在 PHP 中对具有相同数组值的值求和

从 Laravel 机制中排除目录并直接访问该目录

在WooCommerce中显示 checkout 的高级自定义字段(Advanced Custom Fields)并保存其值

如何使用动态变量定义 bind_result?

使用 GROUP_CONCAT 规范化/转置来自查询的数据