mysql 存储 emoji报错( Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F)的解决方案

时间:2021-05-31 09:00:35

1.报错原因:

mysql utf-8 编码储存的是 2-3个的字节,而emoji则是4个字节。

2.解决办法:

修改mysql的配置文件,windows下的为my.ini(linux下的为my.cnf),修改的内容都一样。

[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

3.将数据库中对应的字段,改为utf8mb4_general_ci

4.我的项目中将数据库链接url配置到properties文件中。在这里一定要修改的内容就是将characterEncoding=utf-8去掉。