PHP PDO连接MariaDB 11.3.2报错:Server sent charset (0)未知
解决PHP PDO连接MariaDB 11.3.2时的[2054]字符集错误
当使用PHP PDO连接MariaDB 11.3.2时,会出现以下连接错误:
SQLSTATE[HY000] [2054] Server sent charset (0) unknown to the client. Please, report to the developers
以下是几种可行的解决方式:
- 显式指定连接字符集:在PDO的DSN字符串中添加
charset=utf8mb4参数,强制客户端与服务器使用标准字符集交互,示例代码:
$dsn = 'mysql:host=localhost;dbname=your_database;charset=utf8mb4'; $pdo = new PDO($dsn, 'your_username', 'your_password');
更新PHP及扩展版本:旧版本PHP的
pdo_mysql扩展可能不兼容MariaDB 11.3.2的字符集新特性,建议升级到PHP 8.1及以上版本(优先选择8.2+),确保扩展为最新状态。调整MariaDB服务器配置:修改MariaDB的配置文件(
my.cnf或my.ini),添加以下参数后重启服务,强制服务器使用标准字符集:
[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
内容的提问来源于stack exchange,提问作者Alpix
相关产品推荐
相关产品推荐

