mysql 的 utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。但是修改这个配置太繁琐了,容易出错,emoji-java这个库可以在代码段解决这个问题,解决思路:
我可以存储为:smile:,存储为:cry:
1、引入依赖
<dependency>
<groupId>com.vdurmont</groupId>
<artifactId>emoji-java</artifactId>
<version>3.2.0</version>
</dependency>
2.
EmojiParser.parseToAliases(string);将表情符号转为字符后存储到数据库
EmojiParser.parseToUnicode(string); 将数据库查询字符转为表情符号
备注:此方法只有在手机上面才可以显示出表情。