码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-12-12 18:59:26      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:emoji表情   character   win   har   def   client   库存   配置文件   存储   

异常: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,可以不加这个参数,

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

  

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

标签:emoji表情   character   win   har   def   client   库存   配置文件   存储   

原文地址:https://www.cnblogs.com/3b2414/p/10109697.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!