mysql的utf8编码一个字符最多3个字节,但是emoji表情是4个字节,所以utf8不支持emoji表情,utf8的超类utf8mb4一个字符最3个字节,所以能够支持emoji,我们只需要把字符集改为utf8mb4即可。
1.修改mysql的配置文件
Windows系统为my.ini
Linux系统为my.cnf
这里以windows系统为例:
找到my.ini文件添加一下配置
[client]
default-character-set = utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’
skip-character-set-client-handshake = true
2.修改字符集
1)修改数据库字符集
ALTER DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
2)修改表字符集
ALTER TABLE 表名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
3)修改列字符集
ALTER TABLE 表名 CHANGE 列名 列名 类型 约束 CHARACTER SET utf8 COLLATE utf8_general_ci ;
3.重启mysql
注:utf8mb4的最低mysql版本支持版本为5.5.3 mysql驱动最低5.1.13