在开发微信网页时,需要从微信官方获取用户的基本信息,如昵称,性别,省份等等。采用的授权方式为:snsapi_userinfo.
但是后端在拿到openID和access_token之后在最后一步拉取用户信息的时候,遇到了乱码问题,特别是中文。
解决方案如下(python):
user_info_response = requests.get(getuserinfourl)#getuserinfourl为拉取用户信息的微信api
user_info = json.loads(user_info_response.text)
user_nickname = user_info['nickname'].encode('iso-8859-1').decode('utf-8')
user_province = user_info['province'].encode('iso-8859-1').decode('utf-8')
user_city = user_info['city'].encode('iso-8859-1').decode('utf-8')
user_sex = str(user_info['sex'])
user_headimgurl = user_info['headimgurl'].encode('iso-8859-1').decode('utf-8')
这样得到的用户信息就不会乱码了。