MySQL解决支持插入emoji表情等4字节字符失败

时间:2023-01-11 14:34:28

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 表名;            这个是看 表 字符集的

3.重启mysql