为了账号安全,请及时绑定邮箱和手机立即绑定

关于PHP接收emoji转换存储问题?

关于PHP接收emoji转换存储问题?

慕田峪9158850 2019-03-22 19:15:17
在手机端输入emoji时遇到一个问题(无法储存进数据库)。搜索问题后发现时数据库的utf8mb4原因(因为emoji是4字节,而utf-8得数据库是3字节)。然后得到这么一个js函数可以将emoji表情转换为utf-8字符保存function 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;      }问题就是我想把这个函数转成PHP函数,请问该怎么转啊?????
查看完整描述

2 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

你直接存的时候$value = json_encode($value)弄成json格式存不行吗。。。。只不过这样取出来的时候要json_decode()解析一下


查看完整回答
反对 回复 2019-04-02
  • 2 回答
  • 0 关注
  • 572 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信