解决服务器mysql不能存储emoji表情的问题

点点圈 提交于 2019-12-03 10:00:58

服务器日志频繁出现如下异常:

Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x87' for column 'colum_name' ……

经查询,时输入法emoji表情不能存入mysql.数据库设置的字符集utf8最多只能存储3个字节数据,而emoji是4个字节,所以就会出现这个问题。对数据库进行配置即可,找到mysql的安装目录下的my.cnf(linux环境,windows环境为mysql.ini)文件,进行如下配置(6项)即可,但是前提是mysql5.5以上哦。

配置

经过以上设置以后,重启mysql即可,重启命令如下:

先关闭:systemctl stop mysqld;

启动:systemctl start mysqld;

状态:systemctl status mysqld;

测试如下:

 

注意:如上配置如果没有实现,检查一下创建的数据库、表和字段是不是utf8mb4字符集。

数据库字符集属性:

表字符集:

字段字符集:

确保以上设置,就没问题了!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!