mysql存储表情符号Emoji报错或者乱码问号

emoji就是表情符号,来自日语词汇“絵文字”(假名为“えもじ”,读音即emoji)。

手机操作系统iOS,Android,WindowsPhone;电脑:Windows,Mac OS X均内设Emoji表情;QQ等聊天工具中也添加了emoji表情供用户使用;另外搜狗手机输入法,Google拼音等Android第三方输入法也内置此表情。


mysql存储表情符号会报错如下:
Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1


解决方法:

1、数据库,表,字段字符集改成utf8mb4。

2、mysql配置文件修改如下:

 [client] 
default-character-set = utf8mb4 
[mysql] 
default-character-set = utf8mb4 


[mysqld] 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 
init_connect='SET NAMES utf8mb4'

注意windows下配置文件叫my.ini,如果没有这个文件就自己创建,一般默认会有一个my-default.ini文件,拷贝一下重命名就行了。

但是jdbc驱动目前不支持utf8mb4,所以连接字符集characterEncoding设置utf8mb4会报错,所以去掉即可:

jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值