关于微信授权获取昵称含Emoji表情引发的乱码问题总结
注:本文首发在微信开房社区(https://developers.weixin.qq.com/community/develop/article/doc/000c84d49d4058d35e99bbaef5b013)
做过微信授权的小伙伴都可能会遇到获取用户昵称乱码问题,那是因为微信昵称中的含有SoftBank版本的Emoji表情。
如我的微信昵称:
微信原始昵称含三种Emoji表情:
微信授权昵称未处理Emoji表情:
微信授权昵称已处理Emoji表情:
String url = String.format("https://api.weixin.qq.com/sns/userinfo?" +"access_token=%s&openid=%s", wxToken.getAccess_token(), wxToken.getOpenid());HttpClient.get(url, new TextCallback() {@Overridepublic void onSuccess(Map<String, List<String>> headers, String result) {Logger.debug("获取微信用户信息UTF8-Emoji编码前:" + result);result = UnicodeUtils.emojiEncode(false, result);Logger.debug("获取微信用户信息UTF8-Emoji编码后:" + result);WXUserInfo wxUserInfo = new Gson().fromJson(result, WXUserInfo.class);WXAuthCallback callback = WeChatSDK.getAuthCallback();if (callback != null) {callback.onUserInfoReceived(wxUserInfo);}}@Overridepublic void onError(int code, Throwable throwable) {if (callback != null) {callback.onTokenCheckFailed("微信用户信息获取出错: " + code);}}});
Emoji表情有很多种版本,其中包括Unified、DoCoMo、KDDI、SoftBank和Google,不同版本的Unicode代码并不一定相同。经研究,微信昵称中的Emoji表情截止目前(2019.12.10)已知支持三种版本:
- 1、SoftBank版本(网上一般称之为SB Unicode),如
关于微信授权获取昵称含Emoji表情引发的乱码问题总结相关推荐
- 微信昵称乱码 mysql_微信网页开发获取用户昵称乱码 微信昵称包含emoji表情乱码的解决方案...
微信网页开发获取用户昵称乱码 微信昵称包含emoji表情乱码的解决方案如下: 问题产生原因:由于数据库及属性一致设为utf8,而utf8只支持1-3个字节.当用户昵称为emoji表情时,获取用户基本信 ...
- 解决阿里云RDS mysql5.7数据库不能存储微信昵称含特殊表情或字符的问题
解决阿里云RDS mysql5.7数据库不能存储微信昵称含特殊表情或字符的问题 1.数据库和表的字符集类型设置为utf8mb4: 2.字段字符集设置为utf8mb4. 3.进入阿里云数据库实例管理页面 ...
- java emoji表情 乱码_java 微信昵称带有emoji 表情乱码
问题描述: ipone5s中昵称输入"emoji表情",保存数据库有问题. 运行环境: Java.Tomcat.mysql.Linux(我的Linux下为乱码,这个是linux问题 ...
- 微信公众号开发 - 发送Emoji表情
微信公众号开发文章目录 1.微信公众号开发 - 环境搭建 2.微信公众号开发 - 配置表设计以及接入公众号接口开发 3.微信公众号开发 - token获取(保证同一时间段内只请求一次) 4.微信公众号 ...
- php微信自动登录,利用php怎么实现一个自动登录微信并获取昵称的功能
利用php怎么实现一个自动登录微信并获取昵称的功能 发布时间:2021-02-18 14:55:53 来源:亿速云 阅读:58 作者:Leah 这篇文章将为大家详细讲解有关利用php怎么实现一个自动登 ...
- html获取微信code,微信授权获取code(微信支付)
微信授权获取code(微信支付) 2019-03-02 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了微信授权获取code(微信支付),编程之家小编觉得挺不错的 ...
- 微信授权获取openID等信息,这里简化记录一下
微信授权获取openID等信息 微信测试平台连接:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 授权操作必须用外网(推荐 ...
- 微信开发获取昵称乱码 emoji表情
起因: 由于数据库及属性一致设为utf8,而utf8只支持1-3个字节.当用户昵称为emoji表情时,获取用户基本信息时会乱码. 解决步骤: 升级mysql到5.5以上,即建库时可以使用utf8mb4 ...
- 解决微信昵称含特殊表情或字符无法存入数据库异常
场景描述: 保存微信用户昵称,发现昵称中包含特殊表情或字符,导致以下异常 Caused by: java.sql.SQLException: Incorrect string value: '\xF0 ...
- uniapp小程序微信授权获取头像昵称
最近修改小程序发现线上版的小程序通过uni.getUserProfile获取到的头像为默认灰色头像,昵称为微信用户,体验版能够正常获取到头像昵称,详参考链接小程序用户头像昵称获取规则调整公告, 解决方 ...
最新文章
- Theano 中文文档 0.9 - 7.2.5 循环
- Create an Apex class that returns contacts based on incoming parameters
- 双栈排序java_双栈排序(Java)
- OpenCV在图像中寻找轮廓
- 分类算法中常用的评价指标
- PyCharm怎么关闭端口,解决端口占用问题
- Linux系统编程----15(线程与进程函数之间的对比,线程属性及其函数,线程属性控制流程,线程使用注意事项,线程库)
- C#使用SQLite数据库的代码示例
- 从目标文件结构,加载、执行阶段,汇编角度来理解C程序内存分区
- Windows系统卸载MySQL
- 台式计算机的无线上网卡多少线,台式电脑可以用无线上网卡上网吗
- 图像算法工作感想之笨方法
- CentOS7 网络安装版本 设置基础软件仓库出错
- MySQL的函数——聚合函数、数学函数、字符串函数、日期函数
- java if函数的使用方法_IF函数的使用方法(入门+进阶+高级)
- 如何将自己开发的网站部署到小鸟云服务器上?
- 【帝国CMS】灵动标签循环调用广告
- 《蜘蛛侠3》5月2日中国提前上映
- 计算机网络常见知识点总结
- oracle配置文件
热门文章
- 微信昵称乱码 mysql_微信网页开发获取用户昵称乱码 微信昵称包含emoji表情乱码的解决方案...