TinkPHP 微信小程序用户昵称带表情符存储

2024-08-25 11:38

本文主要是介绍TinkPHP 微信小程序用户昵称带表情符存储,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

处理微信昵称中带表情符无法存到数据库问题。数据库需要加长微信昵称字段长度

/**对emoji表情转义

  • @param $nickname
  • @return string
    */
    function emoji_encode($nickname)
    {
    $strEncode = ‘’;
    l e n g t h = m b s t r l e n ( length = mb_strlen( length=mbstrlen(nickname, ‘utf-8’);
    for ($i = 0; $i < $length; $i++) {
    t m p S t r = m b s u b s t r ( _tmpStr = mb_substr( tmpStr=mbsubstr(nickname, i , 1 , ′ u t f − 8 ′ ) ; i f ( s t r l e n ( i, 1, &#x27;utf-8&#x27;); if (strlen( i,1,utf8);if(strlen(_tmpStr) >= 4) {
    s t r E n c o d e . = ′ [ [ E M O J I : ′ . r a w u r l e n c o d e ( strEncode .= &#x27;[[EMOJI:&#x27; . rawurlencode( strEncode.=[[EMOJI:.rawurlencode(_tmpStr) . ‘]]’;
    } else {
    $strEncode .= $_tmpStr;
    }
    }
    return $strEncode;
    }

//对emoji表情转反义
function emoji_decode($str)
{
KaTeX parse error: Expected 'EOF', got '\[' at position 37: …ace_callback('|\̲[̲\[EMOJI:(.*?)\]…matches) {
return rawurldecode($matches[1]);
}, $str);

return $strDecode;

}


作者:等灯等灯
来源:CSDN
原文:https://blog.csdn.net/qq_36180117/article/details/80846599
版权声明:本文为博主原创文章,转载请附上博文链接!

这篇关于TinkPHP 微信小程序用户昵称带表情符存储的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105454

相关文章

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

Mysql 驱动程序的程序小结

《Mysql驱动程序的程序小结》MySQL驱动程序是连接应用程序与MySQL数据库的重要组件,根据不同的编程语言和应用场景,MySQL提供了多种驱动程序,下面就来详细的了解一下驱动程序,感兴趣的可以... 目录一、mysql 驱动程序的概念二、常见的 MySQL 驱动程序1. MySQL Connector

MySQL中存储过程(procedure)的使用及说明

《MySQL中存储过程(procedure)的使用及说明》存储过程是预先定义的SQL语句集合,可在数据库中重复调用,它们提供事务性、高效性和安全性,MySQL和Java中均可创建和调用存储过程,示例展... 目录概念示例1示例2总结概念存储过程:在数据库中预先定义好一组SQL语句,可以被程序反复调用。

MySQL存储过程实践(in、out、inout)

《MySQL存储过程实践(in、out、inout)》文章介绍了数据库中的存储过程,包括其定义、优缺点、性能调校与撰写,以及创建和调用方法,还详细说明了存储过程的参数类型,包括IN、OUT和INOUT... 目录简述存储过程存储过程的优缺点优点缺点存储过程的创建和调用mysql 存储过程中的关键语法案例存储

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1