在mysql中添加emoji表情可能会报错,原因是因为数据库默认是UTF-8编码格式,普通的字符串占位3个字节而表情占位4字节,此时UTF-8就不够用了,需要采用utf8mb4字符集。

注意:utf8mb4是utf8的超集,兼容utf8所以大可放心更改

修改配置文件,windows: my.ini,linux 和 mac: my.cnf

1
2
3
4
5
6
7
8
9
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

重启数据库

查看数据库编码

1
SHOW VARIABLES LIKE 'collation_%';
1
SHOW VARIABLES LIKE 'character_set_%';