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

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

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以上哦。

配置

db8806c02027cf8c5b17de670b366e85fb5.jpg

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

先关闭:systemctl stop mysqld;

启动:systemctl start mysqld;

状态:systemctl status mysqld;

测试如下:

e2372b900197b7eb832ecde30a9fc53487f.jpg

 

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

数据库字符集属性:

188b59310869bcf5149b4bf443e42379de2.jpg

表字符集:

6e31aed3131a1334678ce785a86a6950d03.jpg

字段字符集:

37ef644e1090e375876b8ad0093b87200e4.jpg

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

转载于:https://my.oschina.net/kevin2kelly/blog/2870241

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值