如果您尝试使用 PHP PDO 连接到最新版本的 von mariadb (11.3.2),您将看到此错误,并且客户端将无法连接:
SQLSTATE[HY000] [2054] Server sent charset (0) unknown to the client. Please, report to the developers
原因:Mariadb 发送了一个之前未设置的值。虽然这与 2004 年以来的协议完全一致,但 php 的 mysql 驱动程序仍然实现了 2004 年之前的该值的协议状态,因此会崩溃。
您需要取消设置排序规则服务器和字符集服务器,或在服务器配置中将其设置为兼容的值,直到此问题得到修复。
MariaDB Docker 镜像: 只需添加
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_bin