MySql数据库存储emoji表情报错解决办法

异常:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' 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,可以不加这个参数,

  重新测试,发现已经可以存储表情字符了。  

  

转载于:https://www.cnblogs.com/3b2414/p/10109697.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值