emoji表情的替换如何处理好一点

dashixionglihai
  • 436

如何处理emoji表情更好一点

现在前端框里面的表情用类似哭这样的符号代替

处理方式:

1.入库的时候,把表情替换成<img src="1.gif"> 读取时候方便,但是不利于后期维护
2.直接入库,读取的时候在后台处理。可能会浪费时间。
3.也是直接入库,读取完成后,丢到前端让js来替换。这个会使前端加载一个大的js数组

哪个更好呢?

回复
阅读 5.7k
6 个回答

utf8mb4编码是支持emoji表情的。

1.mysql 5.6可以支持emoj表情了http://www.linuxde.net/2015/1...
2.MySQL其他版本的,可以使用urlencode转换或者以base64加密,缺点是增加了数据的长度,而且每次写入读取都要转换

毋庸置疑最后一种最优,原因只有一个兼容性;不同环境各自处理,比如:web、移动端。

几种办法
1.使用第三方API,比如新浪微博的表情API,这样不用你去费心
2,在后台输出的时候替换,像这种方法主要是照顾垃圾配置的电脑,你永远不要高看用户的电脑配置
3,前台替换,js正则替换成你第一种方法就行了,比如 [哈哈] 替换成<img src='哈哈.gif'/>

我是这么做的,用户输入的emoji会被js替换为[emiji-<UTF8CODE>]的形式,存到数据库里,显示的时候替换为<i class="emoji emoji-<UTF8CODE>"></i>的形式,然后只需要维护一个超大的css文件就可以了,可以把emoji图片转换成雪碧图,这样后期的维护就更容易了。

你可以参考emojione的实现

utf8mb4是可以直接保存转码的, 注意框架获取表单数据的方法一般都有过滤函数 一定要去掉 不然会取不到值的

宣传栏