MySQL解决支持插入emoji表情等4字节字符失败
1.打开数据库配置文件(centos在/etc/my.cnf),加入下面文字:
[client]
default-character-set= utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' [mysql] default-character-set= utf8mb4
2.修改数据库和表的字符集:
ALTER DATABASE 数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
如果修改表失败可以修改字段:
ALTER TABLE 表名 MODIFY `xxxx` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
查看修改结果:
show variables like '%char%'; 这个是看 database 字符集的
show create table 表名; 这个是看 表 字符集的