名字学 > 微信名字 > 3种方法轻松处理php开发中emoji表情的问题

3种方法轻松处理php开发中emoji表情的问题

投稿人:名字学起名网2021-01-25 17:19:40

在PHP开发中轻松处理表情符号表达式的3种方法

更新时间: 2016年7月18日14:27:37提交: 雏菊

移动设备通常在用户发送的内容中包含表情符号表达式,显示时未经处理且显示乱码。因此php 微信昵称表情符号,本文介绍了PHP微信开发中涉及表情符号表达式的几种处理方法。

背景

进行微信开发时,您会发现存储微信昵称至关重要。

但是这个邪恶的微信支持表情符号作为昵称,这有点痛苦

通常,在设计Mysql表时,使用UTF8字符集。插入带有表情符号的昵称字段,该字段将消失,整个字段变为空字符串。这是怎么回事?

事实证明,Mysql的utf8字符集为3个字节,而表情符号为4个字节,因此无法存储整个昵称。我该怎么办?让我介绍一些方法

解决方案

1、使用utf8mb4字符集

如果您的mysql版本>

这种4字节的utf8编码与旧的3字节的utf8字符集完全兼容,并且可以直接存储表情符号表达式,这是最好的解决方案

关于字节增加导致的性能损失,我看到了一些评估,这些评估几乎可以忽略不计

2、使用base64编码

微信昵称符号_php 微信昵称表情符号_php 微信昵称表情符号

如果由于某种原因不能使用utf8mb4,也可以使用base64通过曲线保存国家/地区

使用诸如base64_encode之类的功能编码的表情符号可以直接存储在utf8字节集的数据表中,取出后可以对其进行解码

3、杀死表情符号

php 微信昵称表情符号_php 微信昵称表情符号_微信昵称符号

表情符号是一件麻烦的事情,即使您可以存储它,也可能无法完美显示。在iOS以外的平台上php 微信昵称表情符号,例如PC或Android。如果需要显示表情符号,则必须准备很多表情符号图像并使用第三方前端库。即使这样,表情符号图片仍可能不够完整,无法显示。在大多数业务场景中,表情符号不是必须的。我们可以适当考虑将其杀死并节省各种费用

经过一番艰苦的Google工作,我终于找到了可靠且可用的代码: 

// 过滤掉emoji表情
function filterEmoji($str)
{
 $str = preg_replace_callback(
   '/./u',
   function (array $match) {
    return strlen($match[0]) >= 4 ? '' : $match[0];
   },
   $str);
  return $str;
 }

以上是PHP微信开发中涉及表情符号表达的几种处理方法的总结。基本思想是遍历字符串中的每个字符。如果字符长度为4个字节,则将其删除。 。希望大家都喜欢!

分享:

扫一扫在手机浏览本文