php 如何处理 emoji 表情,保存到 mysql

文章介绍了在不考虑数据库编码格式的情况下,如何将文本中的emoji转换为Unicode编码进行存储,以及在读取时如何将Unicode转回emoji。提供了两个函数,unicodeEncode用于编码,unicodeDecode用于解码。
摘要由CSDN通过智能技术生成

不考虑数据库的编码格式什么之类的,最直接的方法就是把文本中的 emoji 转换成文本保存。取出的时候再将文本转换成 emoji 表格即可

/*
 * unicode -> text
 */
function unicodeEncode($str){
    if(!is_string($str))return $str;
    if(!$str || $str=='undefined')return '';

    $text = json_encode($str); 
    $text = preg_replace_callback("/(\\\u[ed][0-9a-f]{3})/i",function($str){
        return addslashes($str[0]);
    },$text);
    return json_decode($text);
}

/**
 * text -> unicode
 */
function  unicodeDecode($str)
{
    $text = json_encode($str);
    $text = preg_replace_callback('/\\\\\\\\/i', function ($str) {
        return '\\';
    }, $text);
    return json_decode($text);
}

保存时:

$content = unicodeEncode($content);

取出时:

// 处理数据,把带 emoji 表情的数据解析出来
unicodeDecode($content);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值