如何处理emoji表情更好一点
现在前端框里面的表情用类似哭这样的符号代替
处理方式:
1.入库的时候,把表情替换成<img src="1.gif"> 读取时候方便,但是不利于后期维护2.直接入库,读取的时候在后台处理。可能会浪费时间。3.也是直接入库,读取完成后,丢到前端让js来替换。这个会使前端加载一个大的js数组
哪个更好呢?
学习是最好的投资!
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图片转换成雪碧图,这样后期的维护就更容易了。
[emiji-<UTF8CODE>]
<i class="emoji emoji-<UTF8CODE>"></i>
你可以参考emojione的实现
utf8mb4是可以直接保存转码的, 注意框架获取表单数据的方法一般都有过滤函数 一定要去掉 不然会取不到值的
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是可以直接保存转码的, 注意框架获取表单数据的方法一般都有过滤函数 一定要去掉 不然会取不到值的