移动端输入时允许输入表情,表情实际上是UTF-16编码,在数据库存储上会存在丢失,当前如果把数据库字码编码修改为 utf8mb4 也是可以保存。

如果不想修改其它则可以通过转换把这些表情符转换为HTML字符实体保存。

代码如下:

function utf16_to_entities(){

$content = mb_convert_encoding($content, 'utf-16');

$bin = bin2hex($content);

$arr = str_split($bin, 4);

$l = count($arr);

$str = '';

for ($n = 0; $n < $l; $n++) {

if (isset($arr[$n + 1]) && ('0x' . $arr[$n] >= 0xd800 && '0x' . $arr[$n] <= 0xdbff && '0x' . $arr[$n + 1] >= 0xdc00 && '0x' . $arr[$n + 1] <= 0xdfff)) {

$H = '0x' . $arr[$n];

$L = '0x' . $arr[$n + 1];

$code = ($H - 0xD800) * 0x400 + 0x10000 + $L - 0xDC00;

$str.= '' . $code . ';';

$n++;

} else {

$str.=mb_convert_encoding(hex2bin($arr[$n]),'utf-8','utf-16');

}

}

return $str;

}

注意:这里字符保存为 utf-8 如果代码所处理的格式为 GBK 自行修改。

打开App,阅读手记

表情转html,PHP转换emoji表情为HTML字符实体相关推荐

  1. 微信小程序:简洁UI好玩的文字转换emoji表情

    这是一款好玩的文字转换emoji的一款小程序 支持自定义文字输入,支持随机切换,支持句子转换 用emoji来做暗语啥的是不是很刺激,反正至于怎么玩就看各位的脑洞了 这款小程序安装方法简单,无需服务器域 ...

  2. php转换emoji表情为图片输出小程序,微信小程序中使用emoji表情相关说明

    本帖将聚合一些跟emoji表情有关的知识:相关文章:"i爱记账" 小程序后端开发小结 第7条经验前端传过来的昵称和备注信息一定要经过严格的正则表达式过滤,放置出现XSS等攻击,另外 ...

  3. java emoji编码转换_java转换emoji表情

    /** * @Description 将字符串中的emoji表情转换成可以在utf-8字符集数据库中保存的格式(表情占4个字节,需要utf8mb4字符集) * @param str * 待转换字符串 ...

  4. php mysql emoji表情_php 让MySQL支持Emoji表情 mysql 5.5.3+

    让MySQL支持Emoji表情 mysql 5.5.3+ 让mysql支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. mysql 版本 5.6 1 解决 ...

  5. emoji表情无法显示在html,emoji表情在web html上显示

    [iOS][]或[Android][]客户的输入法支持emoji表情输入,系统管理后台需要显示用户实际输入的效果,因此处理emoji表情符 **1.[MySQL][]需要设置支持emoji编码为utf ...

  6. 让mysql支持emoji表情_让MySQL支持Emoji表情 mysql 5.6

    让MySQL支持Emoji表情,涉及无线相关的 MySQL数据库建议都提前采用 utf8mb4 字符集. mysql 版本 5.6 1 解决方案:将Mysql的编码从utf8转换成utf8mb4. 需 ...

  7. mysql 表情 转义_如何转义emoji表情,让它可以存入utf8的数据库?

    unicode emoji是4个字节的,存不进MySQL里,找到一个转义的库http://code.iamcal.com/php/emoji/,但是转为Unicode之后,还是4个字节,一样存不进,应 ...

  8. php mysql emoji表情_让MySQL支持Emoji表情

    让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集.utf8mb4和utf8到底有什么区别呢?原来以往的 让MySQL支持Emoji表情,涉及无线 ...

  9. mysql保存特殊表情_让 MySQL 支持 emoji 表情等特殊字符存储

    在导入 twitter 内容的时候,发现有部分内容会出错.开始以为是编码问题,但文本全部为 utf8 也会出现这个问题,后来定位到 emoji 字符.其原因是 utf8 是不定长的,根据左侧位来决定占 ...

最新文章

  1. 近期活动盘点:2019第六届世界互联网大会、面向智慧城市的人本尺度城市形态:理论方法与实践讲座、高级管理人员AI大数据能力研修班...
  2. linux alias命令查看和设定别名
  3. HttpClient 连接池设置不当引发的一次雪崩
  4. QML和C++混合编程--(三)
  5. 二十七、Node.js搭建第一个Express应用框架
  6. 在Spring 框架中如何更有效的使用JDBC?
  7. 字符串-字符串的查找和替换
  8. java内部类实现方式_Java内部类详解
  9. 蚂蚁(51Nod-1266)
  10. ILSpy反编译工具的使用
  11. Cocos2d-x Tiled地图编辑器(一)基本使用
  12. Android应用程序开发习题答案
  13. python 直方图均衡化_直方图均衡化-Python实现
  14. [雨林木风][番茄花园][电脑公司][深度论坛][龙帝国]系统光盘收录大全(精品)
  15. 知识分享!电阻按照用途分类可以分为哪几种电阻?-道合顺大数据infinigo
  16. 高速串行总线技术发展与应用分析
  17. from添加背景色 jsp_html框架怎么添加背景颜色
  18. UWB定位系统会存在定位误差吗?
  19. Android 模拟器 计步器,春雨计步器怎样刷步数图文教程
  20. matlab设置xyz,matlab基本XYZ立体绘图命令

热门文章

  1. tcp连接的三次握手
  2. 线性拟合和梯度下降python代码实现—面向对象(二)
  3. SQL Server 动态生成数据库所有表Insert语句
  4. asp.net textbox 控件如何清除缓存
  5. idea找不到Hide empty Middle Packages???
  6. Ice-3.5.1在CentOS 6.5系统中的编译配置教程
  7. PHP扩展CURL的用法详解
  8. .html,.htm和.shtml的区别
  9. 扩展thinkphp5的redis类方法
  10. 成熟的 Git 分支模型