gpt4 book ai didi

mysql - 初始化 PDO 时 - 我应该做 : charset=UTF8 or charset=UTF8MB4?

转载 作者:IT老高 更新时间:2023-10-28 23:59:28 26 4
gpt4 key购买 nike

初始化 PDO 时 - 我应该做:charset=UTF8 还是 charset=UTF8MB4?

这是我的初始化:

$dsn = 'mysql:host=example.com;dbname=testdb;port=3306;charset=UTF8';
$dbh = new \Pdo($dsn, 'username', 'pass');
$dbh->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);

但是dsn应该是这样的:

$dsn = 'mysql:host=example.com;dbname=testdb;port=3306;charset=UTF8MB4';

如果 mysql 数据库有默认字符集 UTF8MB4。

最佳答案

您应该为 PDO 和您的数据库结构使用 utf8mb4

$dsn='mysql:host=example.com;dbname=testdb;port=3306;charset=utf8mb4';

如果可能,不要忘记设置页面的字符编码。 PHP 示例:

mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');

关于mysql - 初始化 PDO 时 - 我应该做 : charset=UTF8 or charset=UTF8MB4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31660005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com