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

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

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

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

配置sql

通过以上设置之后,重启mysql便可,重启命令以下:数据库

先关闭:systemctl stop mysqld;windows

启动:systemctl start mysqld;服务器

状态:systemctl status mysqld;测试

测试以下:3d

 

注意:如上配置若是没有实现,检查一下建立的数据库、表和字段是否是utf8mb4字符集。日志

数据库字符集属性:

表字符集:

字段字符集:

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

相关文章
相关标签/搜索