收藏
回答

wx.getUserInfo 在某些安卓手机 nickname 乱码

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.getUserInfo 微信安卓客户端 7.0.8 7.0.8

设备:vivoX7 安卓 5.1.1

输入法:vivo 自带输入法

昵称是:🌾🍸🌾

使用 wx.getUserInfo 获取的 rawData nickname 是乱码。导致 后端校验失败。

public boolean checkUserInfo(String sessionKey, String rawData, String signature) {
  final String generatedSignature = DigestUtils.sha1Hex(rawData + sessionKey);
  return generatedSignature.equals(signature);
}



尝试开始认为是传输过程中出问题,然后 encode。后端 decode 解析出来还是乱码。

打印出来 getUserInfo 中的 rawData 已经是乱码。

使用小米mix3、小米8、iOS 都 OK。


这个图:

第一个昵称是用其他手机改的,然后可以正常解密。

第二个昵称是用 vivoX7 手机改的,解密失败。


最后一次编辑于  11-26
回答关注问题邀请回答
收藏

1 个回答

  • 老张
    老张
    11-26

    直接用wx.getUserInfo返回数据中的userInfo.nickName

    11-26
    赞同
    回复 1
    • Neo Chang
      Neo Chang
      11-26
      一样的乱码
      11-26
      回复
问题标签