一般做评论的时候,可能需要支持表情。因为是后来的需求,一开始设计数据库的时候,使用的字符集是 utf8,只支持 3 字节的,emoji 表情是 4 字节,mysql 数据库直接报错了。
如果你需要数据库可以保存表情,那么需要把字符集修改为 utf8mb4,因为 utf8mb4 是向下兼容 utf8 的,所有不会有太大的问题,但是我们当时做完调整之后,发现有乱码的情况。
后来 google 了下,发现有个开源项目,可以把 emoji 转换为别名,在表里存的是别名,如,:ambulance:,然后显示的时候,在给他转换下。这个方法可以不修改数据库字符集,又可以使用表情,但是只支持 emoji 表情。
我这边使用了两个方法
EmojiParser.parseToAliases 转换为别名
EmojiParser.parseToUnicode 别名转换为表情
其他方法可以看项目介绍
emoji-java
非常感谢作者,帮忙解决了一个大问题。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于