emoji用到的字符是4字节的utf-16(utf-16有2字节和4字节两种编码),而我们的数据库是采用的utf-8,并且最大只允许3字节的字符,所以我们需要对这个问题进行处理;
1、入库前进行处理
2、从库取出进行处理让浏览器识别它
const UTFTranslate = {
Change: function (value) {
return encodeURIComponent(value)
},
ReChange: function (value) {
return decodeURIComponent(pValue);
}
};
// 存入前转码
UTFTranslate.Change('😁张') // %F0%9F%98%81%E5%BC%A0
// 渲染前解码
UTFTranslate.ReChange('%F0%9F%98%81%E5%BC%A0') // 😁张








网友评论