DB_ERROR: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation
这个提示指的是 什么跟什么的编码不统一了。
tips:后来发现是 框架连接数据的类,设置字符集没有成功导致的~
DB_ERROR: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation
这个提示指的是 什么跟什么的编码不统一了。
tips:后来发现是 框架连接数据的类,设置字符集没有成功导致的~
4 回答1.3k 阅读✓ 已解决
8 回答1.2k 阅读
3 回答1k 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.3k 阅读
1 回答861 阅读✓ 已解决
1 回答654 阅读✓ 已解决
在 MySQL 内, 你的表和客户端编码都需要使用
utf8mb4
编码, 才可以解决 Emoji 表情符号的问题, 即:utf8mb4
(不能是utf8
), 至于排序规则 (collation) 是utf8mb4_bin
还是utf8mb4_general_ci
等等都关系不大, collation 仅影响到排序set names utf8mb4
进行初始化这个问题的原因是你的表在使用
utf8
字符集, 而 MySQL 中的utf8
字符集实现不完整, 不支持 4 个字节的 utf8 标准的字符, 但是考虑到兼容性, 不能直接在utf8
上改动(因为影响到预分配空间的大小问题), 所以他们后续出了utf8mb4
的字符集来解决这个问题