对于移动端,用户有可能输入
emoji
,并传入数据库,会导致无法识别而报错
这里涉及2个工具方法:
1、utf16的emoji表情字符
转码 成utf8的字符
2、八进制的字符
转码 成十六进制的emoji表情字符
文章目录
一、emoji转字符
//把utf16的emoji表情字符进行转码成八进制的字符
const utf16toEntities = function(str) {
// 检测utf16字符正则
var patt = /[\ud800-\udbff][\udc00-\udfff]/g
return str.replace(patt, function (char) {
var H, L, code
if (char.length === 2) {
H = char.charCodeAt(0) // 取出高位
L = char.charCodeAt(1)