收藏
回答

获取微信用户昵称乱码

下面这些方式获取用户微信昵称如果昵称包含emoji可能出现乱码   该用户的微信昵称是🐮 到处飞  ,但是微信客户端能够正确显示

   wx.getUserInfo({      success(res) {        const userInfo = res.userInfo        const nickName = userInfo.nickName        const avatarUrl = userInfo.avatarUrl        const gender = userInfo.gender // 性别 0:未知、1:男、2:女        const province = userInfo.province        const city = userInfo.city        const country = userInfo.country        console.log("nickName ="+nickName);      }    })  //或者  标签

<open-data type="userNickName"></open-data> 都会出现这种问题



最后一次编辑于  2019-03-13
回答关注问题邀请回答
收藏

7 个回答

  • 🍀大定府羡民[捂脸]
    🍀大定府羡民[捂脸]
    2019-12-09
    经研究测试,微信昵称支持三种版本的emoji表情:Unified、SoftBank和微信自家定义的表情。SoftBank和微信自家定义的表情需要做相应的映射处理才能正常显示。参阅:https://github.com/gzu-liyujiang/UnicodeEmoji
    2019-12-09
    有用
    回复
  • 🔆小吴
    🔆小吴
    2019-08-02

    解决了吗

    2019-08-02
    有用
    回复
  • 2019-07-18

    解决了没,,,我也遇到了

    2019-07-18
    有用
    回复
  • 吴奕群
    吴奕群
    2019-03-14

    昵称中包含 console不支持的字符集

    2019-03-14
    有用
    回复
  • 谢舜海
    谢舜海
    2019-03-13

    用urlencode之后再保存到数据库

    一个每天人流量50+小程序TT,求大神关注


    2019-03-13
    有用
    回复 30
    • 又菜又爱玩
      又菜又爱玩
      2019-03-13

      微信的API获取的时候就已经是乱码了  所以没办法的  只能由微信那边进行处理

      2019-03-13
      回复
    • 谢舜海
      谢舜海
      2019-03-13

      不会呀,微信获取到还不会乱码

      2019-03-13
      回复
    • 谢舜海
      谢舜海
      2019-03-13

      你可以将获取到的内容传到后端,后端urlencode,保存到数据库就ok啦,我以前就遇到这样的问题,现在都是这么处理的

      2019-03-13
      回复
    • 谢舜海
      谢舜海
      2019-03-13

      urlencode还有一个问题,就是数据库自动长度一点要够哦

      2019-03-13
      回复
    • 谢舜海
      谢舜海
      2019-03-13

      可以看下我上面的小程序,我-》标本榜,第一名昵称就是图形的

      2019-03-13
      回复
    查看更多(25)
  • 铭锋科技
    铭锋科技
    2019-03-12

    正确

    2019-03-12
    有用
    回复
  • 拾忆
    拾忆
    2019-03-12

    昵称字段的字符集改成 utf8mb4 试试

    2019-03-12
    有用
    回复 3
    • 又菜又爱玩
      又菜又爱玩
      2019-03-13

      没有用的  数据库用的是utf8mb4编码  但是上面这个问题无关数据库的事    是微信获取昵称的时候就已经乱码了(PS:有时候会有时候不会) 您可以用上面的这个昵称🐮 到处飞试试看  然后用我上面的代码打印你就知道了  目测是小程序API的一个bug

      2019-03-13
      回复
    • 阿白
      阿白
      2019-03-13

      你是在开发环境中看到是乱码吧?因为utf8mb4在电脑上不能正确显示。在手机真机上应该是可以正确显示的。

      2019-03-13
      回复
    • 又菜又爱玩
      又菜又爱玩
      2019-03-14

      真机测试

      2019-03-14
      回复
登录 后发表内容