Karp 的技术博客

今天 程序遇到下述 :

Database Error: Conversion from collation utf8mb3_general_ci into utf8mb4_general_ci impossible for parameter3988

场景时 我的接口程序需要插入 emoji 😅😅😉😉😉, 但插入时代码抛错.

我这边也是 DBA 将 Mysql5.7 才升级到 mysql8 之前就遇到很多默认编码不同的问题. DBA 批量将我们的表字段编码都改为 utf8mb4 字符集排序 utf8mb4_general_ci

 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci

PHP 程序连接 mysql 的 chatset = 'utf8'; 因为之前有遇到个类似问题. 之前排故 都是各种找 表 / 库 / 字段 的编码字符集是否正常.
最后找到的原因是 连接时字符集出了问题.

升级了mysql8, PHP mysql 客户端 utf8 对应的字符集 在mysql服务端那边变成了 utf8mb3 ....

我调整了默认连接 字符集编码 chatset = 'utf8mb4';, insert 插入成功了 .

mysql

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2025年01月18日 09:00
1

目录

来自 《Database Error: Conversion from collation utf8mb3_general_ci into utf8mb4_general_ci impossible ....》