Rumah > hujung hadapan web > html tutorial > 前端怎么解决emoji表情无法发送的BUG

前端怎么解决emoji表情无法发送的BUG

php中世界最好的语言
Lepaskan: 2017-11-27 14:42:59
asal
3399 orang telah melayarinya

之前在做移动端开发时候,有一个发表评论的功能需要实现,虽然这个功能 比较简单能做出来,但是我在测试的时候说手机自带的emoji表情发送失败的BUG总是出现,所以今天给大家带来出现这种BUG的解决方法

1. 后台更改数据库格式

  执行sql语句将数据库的编码格式改成utf8mb4 存储形式,这种4字节的UTF-8存储形式可以完美的兼容以前的3字节的存储形式,并且可以直接存储emoji表情,这是最完美的解决方案.

2. 使用base-64编码

  列如可以使用base-encode来编码emoji表情之后存储在UTF-8之中,取出的时候decode一下就可以了,但是我没有试过

3. 干掉emoji表情

  暴力干掉,估计PM不会同意这么做

4. 前端处理

  就是通过第三方插件, 将输入的emoji转为span标签,并赋上相应的class,找一大堆emoji,表情图片,向后台发送的时候就是发送span表情,这个后台当让就可以存储了, 这样做的好处就在所有的设备上展示的都是一样的,不会产生歧义,当然缺点就是emoji表情在更新,有可能你所找到的emoji表情图片库不全,有的表情无法展示到页面上,这个就需要定期维护

推荐一个比较好用的插件库 github.com/node-module…

使用方法 先下载emoji插件

<link href="http://cdn.staticfile.org/emoji/0.2.2/emoji.css" rel="stylesheet" type="text/css" />
<script src="http://cdn.staticfile.org/emoji/0.2.2/emoji.js"></script>
Salin selepas log masuk

映入这两个代码库,这个插件完全不需要依赖jquery库

接下来就更加简单了

var text = document.querySelector(&#39;emojiText&#39;);
cosnoel.log(jEmoji. unifiedToHTML(text.value))
Salin selepas log masuk

如果使用了commenJS规范

$ npm install emoji
var emoji = require('emoji');
console.log('
Salin selepas log masuk

Atas ialah kandungan terperinci 前端怎么解决emoji表情无法发送的BUG. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan