如何实现MySQL数据库在Java中能够支持emoji表情

  介绍

今天就跟大家聊聊有关如何实现MySQL数据库在Java中能够支持emoji表情,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

公司最近在开发中遇到一个问题,在弄帖子的发布与回复问题,然后再端iOS和Android端添加表情的时候都会出错

所致:java.sql。SQLException异常:错误的字符串值:& # 39;\ xF6 \ x9D \ x98 \ x84& # 39;列& # 39;评论# 39;在第1行

提示表情有问题,然后赶紧查资料。

首先数据库编码为utf - 8,字段内容设置为<代码>文本(CHARSET=utf8整理=utf8_unicode_ci) 用于存储帖子内容信息,现在上线新功能存储emoji表情,插入emoji表情就会报出上述错误,utf - 8编码有可能是两个,三个,四个字节.Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去.utf8mb4兼容utf8,且比utf8能表示更多的字符,所以要设置数据库的编码为utf8mb4。


<强> 1,修

改my . cnf中所做[客户]   default-character-set=utf8mb4      (mysql)   default-character-set=utf8mb4      (mysqld)   character-set-server=utf8mb4   collation-server=utf8mb4_unicode_ci   utf8mb4& init_connect=& # 39;集名称# 39;   character-set-client-handshake=false

<强> 2,对数据库相关的表进行字符集修改

将数据库转换为utf8mb4

改变数据库字符集utf8mb4后核对utf8mb4_unicode_ci;
  
  ALTER TABLE post_article”转换为字符集utf8mb4核对utf8mb4_unicode_ci;
  
  ALTER TABLE的post_article修改列“内容”文本字符集utf8mb4核对utf8mb4_unicode_ci; 

<强> 3,重启数据库

 sudo/etc/init.d/mysql重启

<强> 4,检查数据库的字符集是否是utf8mb4

如何实现MySQL数据库在Java中能够支持emoji表情