美文网首页
如何在数据库中保存Emoji表情

如何在数据库中保存Emoji表情

作者: 好学人 | 来源:发表于2020-03-19 15:20 被阅读0次

先说结论:

1. 若数据库不支持保存Emoji表情,可将Emoji表情进行Base64编码后保存。

2. 若希望编码后的内容仍具有可搜索性,可以使用Base16编码。


最近业务开发中,涉及到一个自定义昵称问题,测试反馈输入Emoji表情后会报错,经与服务端人员沟通,原因是数据库不支持直接存储Emoji表情。

最初的想法是禁止用户输入Emoji表情,但这种方法无法很好地覆盖到全部的Emoji表情,而且Emoji表情还在不断地增加,总会有漏网之鱼。

鉴于此,于是进一步的想法是只允许用户输入规则内的字符,比如数字、字符、汉字等,但公司的APP支持多个国家和地区,还要考虑韩文和日文的问题。因此,这种方法也比较繁琐。

但,我们是知难而退的人嘛?!

显然不是!

所以,我灵机一动想到了一个好办法,可以让数据库直接支持保存Emoji表情,很简单,就是在入库前对用户的昵称做一次Base64编码,需要使用时,取出数据后再进行解码即可。

但这里仍然存在一个不完美的地方,就是对文本进行Base64编码后,便不再具备可搜索性,这是由Base64的编码机制决定的。

那怎么办呢?方法也很简单,我们可以使用Base16编码,编码后的文本仍然具备可搜索性。

相关文章

网友评论

      本文标题:如何在数据库中保存Emoji表情

      本文链接:https://www.haomeiwen.com/subject/fhrlyhtx.html