MySql数据库存储emoji表情报错解决办法
Posted 抟鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql数据库存储emoji表情报错解决办法相关的知识,希望对你有一定的参考价值。
异常:java.sql.SQLException: Incorrect string value: ‘xF0x9Fx92x94‘ for column ‘name‘ at row 1
解决:
mysql的utf-8编码只支持3个字节的数据,而移动端的emoji是四个字节的数据,如果直接往utf-8编码的数据库中插入表情,就会报上面的错误。
utf8mb4编码兼容utf-8,是utf-8编码的超集,能存储4字节的表情字符。
1,将存储表情字符的数据库表改为utf8mb4,
2,utf8mb4支持的数据库版本最低为5.5.3+。
3,修改mysql配置文件my.cnf(windows为my.ini)。
[client]
port=3306
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
4,重启MySql服务。
5,修改数据库连接的配置
characterEncoding=utf8
会被自动识别成utf8mb4,可以不加这个参数,
重新测试,发现已经可以存储表情字符了。
以上是关于MySql数据库存储emoji表情报错解决办法的主要内容,如果未能解决你的问题,请参考以下文章
Mysql存储emoji表情报错(Incorrect string value: 'xF0x9Fx98x82xF0x9F...')的解决方案
MySQL存储emoji表情报错(Incorrect string value: 'xF0x9Fx98x82xF0x9F...')的解决方案