微信网页开发获取用户昵称乱码 微信昵称包含emoji表情乱码的解决方案如下:

问题产生原因:由于数据库及属性一致设为utf8,而utf8只支持1-3个字节。当用户昵称为emoji表情时,获取用户基本信息时会乱码。

解决方案一:修改数据库为支持4个字节的utf8mb4编码即可正常存储emoji表情等特殊符号。

1.升级mysql到支持utf8mb4编码的最低版本5.5以上。

2.更改mysql设置,更改/etc/my.cnf配置文件。

3.修改mysql配置文件,在[client]加入default-character-set=utf8mb4;在[mysqld]加入character_set_server = utf8mb4;

4.重启mysql数据库。把要插入特殊表情的数据库、表、字段的编码改成utf8mb4。

解决方案二:将获取的微信昵称等进行urlencode转码之后再存储到数据库中,显示的时候再做urldecode操作。

$nickname = urlencode($nickname);

nickname = urldecode($nickname);

解决方案三:将获取的微信昵称中的特殊符号过滤掉。

public static function removeEmoji($text) {

$clean_text = "";

// Match Emoticons

$regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';

$clean_text = preg_replace($regexEmoticons, '', $text);

// Match Miscellaneous Symbols and Pictographs

$regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';

$clean_text = preg_replace($regexSymbols, '', $clean_text);

// Match Transport And Map Symbols

$regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';

$clean_text = preg_replace($regexTransport, '', $clean_text);

// Match Miscellaneous Symbols

$regexMisc = '/[\x{2600}-\x{26FF}]/u';

$clean_text = preg_replace($regexMisc, '', $clean_text);

// Match Dingbats

$regexDingbats = '/[\x{2700}-\x{27BF}]/u';

$clean_text = preg_replace($regexDingbats, '', $clean_text);

return $clean_text;

}

以上三种方案都可以解决微信网页开发时微信昵称包含emoji表情导致乱码的问题,我采用的是第二种方法,目前没发现什么其他的问题。

微信昵称乱码 mysql_微信网页开发获取用户昵称乱码 微信昵称包含emoji表情乱码的解决方案...相关推荐

  1. 微信小程序通过web-view网页授权获取用户公众号OpenID

    小程序中实现网页授权获取微信公众号OpenID 1.准备工作 2.应用场景说明 3.实现步骤 结语 1.准备工作 第一步: 通过该地址https://mp.weixin.qq.com/debug/cg ...

  2. Java微信公众号开发之网页授权获取用户基本信息

    本篇博客讲解的网页授权只需要前端传递一个backUrl(回调地址) 到后台接口,后台接口会完成整个授权流程,无需前端做更多工作: 一. 前言 微信公众号开发,需要用到网页授权获取用户信息,通过OAut ...

  3. 微信开发之网页授权获取用户基本信息

    微信官方文档:网页授权获取用户基本信息 具体而言,网页授权流程分为四步: 1.引导用户进入授权页面同意授权,获取code https://open.weixin.qq.com/connect/oaut ...

  4. asp.net mvc C# 微信公众号-服务号开发 (用户网页授权获取用户昵称头像信息)...

    参考文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432 一.安装Senparc.Weixin NuGet包 ...

  5. 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息

    第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...

  6. 微信开发网页授权获取用户信息

    如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 1. 关于OAuth2.0的说明 官方网站:http://oauth.net/   htt ...

  7. 微信开发_网页授权获取用户的基本信息

    如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于OAuth2.0的说明 官方网站:http://oauth.net/   http:/ ...

  8. 微信公众号开发之微信网页授权获取用户个人信息

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一丶概述 微信网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑 ...

  9. 微信开发 网页授权获取用户基本信息

    微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...

最新文章

  1. Apache ZooKeeper - FourLetterCommands运维命令
  2. BZOJ3075[USACO 2013 Mar Gold 3.Necklace]——AC自动机+DP
  3. 2020-11-28 Latex相关小工具
  4. [react] react兄弟组件如何通信?
  5. fastJson toJSONString注意点
  6. 取文件 shell_webshell文件上传分析溯源
  7. 别再拿div+css误导人了
  8. zabbix4.0 mysql本地数据库迁移到腾讯云数据库
  9. Java Web从前端到后台常用框架介绍
  10. bootstrap入门之Code代码显示
  11. PackageInstaller 5.0源码分析静默安装与静默卸载
  12. cad两直线相交画圆弧_cad制图中两个圆相交于一条直线怎么画
  13. 优先使用组合而不使用继承
  14. Java基本sql_SQL基本语句
  15. EasyGUI-6:文件目录和异常
  16. 连续剧网页服务器搭建,电影服务器的架设及其安全防范配置流媒体服务器 -电脑资料...
  17. Unity Shader Dither
  18. 阿里云DDoS防护和DDoS高防有什么区别
  19. 通过RSA和DES实现网络报文加密加签(实例)
  20. linux系统命令梳理

热门文章

  1. 一个被网易抛弃的孤儿~~~~~~~
  2. 如何突破路由器(TPLINK等)的IP带宽控制(限速)
  3. 牛鞭效应matlab代码,基于控制工程的牛鞭效应建模与仿真研究
  4. Android环境杂记
  5. 女神想看演唱会买不到门票,还好我会Python,分分钟就抢到了
  6. C语言实现Base64编码解码
  7. 第04课:生活中的单例模式——你是我生命的唯一
  8. AD18打开PCB项目出错解决方法
  9. 吃透OceanBase| 什么是ODP 的表路由机制?
  10. 数字格式化为金额格式 (3位一个逗号隔开)