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表情报错该怎么解决?

Mysql存储emoji表情报错(Incorrect string value: 'xF0x9Fx98x82xF0x9F...')的解决方案

MySQL存储emoji表情报错(Incorrect string value: 'xF0x9Fx98x82xF0x9F...')的解决方案

Emoji表情符号录入MySQL数据库报错的解决方式

Emoji表情符号录入MySQL数据库报错的解决方案

mysql存储emoji表情报错的处理方法更改编码为utf8mb4