zoukankan      html  css  js  c++  java
  • 向后台传输表情时,手机自带输入法emoji表情的输入,提交及显示——前端解决方案

    //表情
        utf16toEntities(str) { //检测utf16emoji表情 转换为实体字符以供后台存储
          var patt=/[ud800-udbff][udc00-udfff]/g;
          str = str.replace(patt, function(char){
            var H, L, code;
            if (char.length===2) {   //辅助平面字符(我们需要做处理的一类)
              H = char.charCodeAt(0); // 取出高位
              L = char.charCodeAt(1); // 取出低位
              code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00; // 转换算法
              return "&#" + code + ";";
            } else {
              return char;
            }
          });
          return str;
        },

    经过上述转换,我们手机端输入的emoji表情应该就可以提交到数据库了,but...解决问题往往不会这么一帆风顺,我们发现正常保存的emoji表情在页面上不能正常显示,我们前端采用vue开发,用{{}}将包含emoji字符实体的字符串渲染到页面上时显示的直接是这样的字符实体,审查元素发现HTML内容是这样,一时还不知道原因是什么,但一定是用{{}}渲染有问题,尝试换用v-html.

    转自:https://www.cnblogs.com/kaidarwang/p/7458431.html

  • 相关阅读:
    虚拟环境地址
    ubuntu 查看占用文件空间大小
    drf serializer官网所得
    百度api 找到当前电话号码归属地
    mongo 改bug
    django orm 读写分离,分库分app
    __setattr__,__getattr__,__getattribute__
    Python之路--Django--模型
    Python之路--Django--模板
    Python之路--Django--视图
  • 原文地址:https://www.cnblogs.com/zjz666/p/13503351.html
Copyright © 2011-2022 走看看