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); 将数据库查询字符转为表情符号
备注:此方法只有在手机上面才可以显示出表情。
MySQL存储Emoji解决方案
本文介绍了一个关于MySQL utf8编码无法存储Emoji表情的问题及其解决方案。由于utf8编码仅支持最多3字节的字符,而Emoji表情通常需要4字节,因此标准的utf8编码不支持Emoji。文中提出使用utf8mb4编码或借助emoji-java库来实现Emoji表情的存储。
927

被折叠的 条评论
为什么被折叠?



