Database Error: Conversion from collation utf8mb3_general_ci into utf8mb4_general_ci impossible ....

By karp 1085 Views 3 MIN READ 0 Comments

今天 程序遇到下述 :

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 插入成功了 .

本文由 karp 原创

采用 CC BY-NC-SA 4.0 协议进行许可

转载请注明出处:https://www.ikarp.top/index.php/archives/776.html

标签: mysql

0 评论