在绑定用户微信时,需要从微信获取用户信息,此处容易出现乱码。

JSONObject jo = this.getAccessTokenOpenid(code);

StringBuilder sb = new StringBuilder("https://api.weixin.qq.com/sns/userinfo?access_token=");

sb.append(jo.getString("access_token"));

sb.append("&openid=").append(jo.getString("openid")).append("&lang=zh_CN");

HttpMethod method = new PostMethod(sb.toString());

HttpClient httpclient = new HttpClient();

httpclient.executeMethod(method);

String result = new String(method.getResponseBody(), "utf-8");

// String result = method.getResponseBodyAsString();

System.out.println("getWeiXinUserInfo result = " + result);

JSONObject userInfo = JSON.parseObject(result, JSONObject.class);

将 String result = method.getResponseBodyAsString();

换成 String result = new String(method.getResponseBody(), “utf-8″****);

即可。

method.getResponseBodyAsString():

Returns the response body of the HTTP method, if any, as a String. If response body is not available or cannot be read, null is returned. The raw bytes in the body are converted to a String using the character encoding specified in the response’s Content-Type header, or ISO-8859-1 if the response did not specify a character set.

Note that this method does not propagate I/O exceptions. If an error occurs while reading the body, null will be returned.

而:new String(method.getResponseBody(), “utf-8”)

将 method.getResponseBody() 返回的原生字节用指定的 utf-8 编码,编码成String。因为微信的返回值就是采用的utf-8编码。

运行结果:

没有乱码出现。

https://www.cnblogs.com/digdeep/category/639150.html

java微信发文字乱码_获取微信用户信息出现乱码相关推荐

  1. spring security oauth2 实现微信登陆(授权回调域、前端重定向、微信解绑、获取用户信息中文乱码等相关问题解析)

    OAuth 的核心 OAuth 的核心就是向第三方应用颁发令牌.OAuth提供了四种获取令牌的授权方式 授权码(authorization-code).隐藏式(implicit).密码式(passwo ...

  2. 企业微信SCRM系统部署_企业微信SCRM二次开发_企业微信SCRM系统独立版源码价格

    企业微信SCRM系统部署_企业微信SCRM二次开发_企业微信SCRM系统独立版源码价格 点趣互动是企业微信系统的第三方应用提供厂商,用于管理员工企业微信的内一款系统软件.点趣互动企业微信scrm软件主 ...

  3. 微信小程序如何实现同时授权用户信息和手机号码不重复授权问题

    相信很多小伙伴都有遇到了在点击一个按钮时想要实现同时获取到用户信息及手机号码并且授权过后不重复授权的操作,分享一下我的方法~ <!--index.wxml--> <!--showPo ...

  4. wordpress 外部数据接口_使用接口方式获取WordPress用户信息的方法

    今天WordPress主题站简单介绍一下WordPress系统中用户信息获取方式,今天就讲讲使用接口方式获取WordPress用户信息的方法. 接口文件如下: if ('POST' != $_SERV ...

  5. Spring MVC 实战:三种方式获取登录用户信息

    前言 Web 项目中,维持用户登录状态的常用方式有三种,分别是 Cookie.Session.Token,不管哪种方案,都需要获取到用户信息供业务层使用. 由于获取用户信息与具体业务无关,因此在普通的 ...

  6. android qq登录 获取用户信息吗,免登录 只需要一个QQ号就能获取QQ头像和QQ昵称 获取QQ用户信息API...

    [PHP] 纯文本查看 复制代码<?php // header header("Content-Type:application/json"); error_reportin ...

  7. fwOA获取当前用户信息及常用数据库表

    一. 获取当前用户信息 User user = HrmUserVarify.getUser(request, response);//获取用户信息 int userId=user.getUID();/ ...

  8. (详解)钉钉接口,PC端微应用,免登录及获取当前用户信息

    1.用了两天的时间,一直在研究微应用的,免登录及获取用户信息这一块. 但是钉钉官网写的太繁杂了,看了一天,硬是没看明白,最后,硬着头皮,一点点查资料,借鉴别人的代码,终于 研究 出来了,为了防止 年轻 ...

  9. 添加权限,获取到用户信息,就用户当前部门进行下拉选择

    1.在后端初始化的方法中添加获取到用户信息: @Override public EiInfo initLoad(EiInfo inInfo) {Uuser uuser = new Uuser();uu ...

最新文章

  1. python 测试框架之---testtools
  2. ONVIF C++ 库
  3. 树莓派3 64linux,树莓派3 model b安装64位debian+qt5.9
  4. 学会这几个公式技巧,瞬间你就是高手
  5. 跟着书本重学CSS(1)
  6. QT的QColor 类的使用
  7. getX(),getY()等方法的区别(图解)
  8. 智能指针:-和*运算符重载 + 模板技术 实现智能指针(C++)
  9. RBAC权限模型库表设计
  10. 小学计算机课程报告怎么写,小学计算机课论文摘要怎么写 小学计算机课论文摘要范文参考...
  11. python异常处理与导入模块与导入包
  12. mini车f和r的区别_雪铁龙也造出了“老头乐”,外观复古时尚,叫板宏光MINI?...
  13. POJ 1981 Circle and Points 单位圆覆盖
  14. 通过qq进行ip定位
  15. html5制作旋转正方体,如何制作一个旋转的正方体
  16. 什么是ISO镜像文件,为什么不能拷贝到U盘直接重新安装?
  17. 完美移除ESXI 7.0默认120G虚拟闪存,并支持自由调整,释放被占用的磁盘空间
  18. oracle下导出某用户表的方法
  19. 合格硕士学位论文的工作量
  20. 【JavaScript】——正则表达式

热门文章

  1. php 正则匹配中文标点,JavaScript_js实现正则匹配中文标点符号的方法,本文实例讲述了js正则匹配中 - phpStudy...
  2. 为什么java要你写static,java static关键字理解
  3. kali创建文件_kali 创建快捷方式的方法
  4. 运行jar中某个类的main方法
  5. linux java heap space_Linux tomcat9 java.lang.OutOfMemoryError: Java heap space 解决方法
  6. Oracle执行计划稳固
  7. sqlserver varchar 对于 sum 运算符无效_在sqlserver上实现自定义函数四舍六入五成双...
  8. CentOS 修改主机名(host)
  9. java中hashcode和equals的区别和联系
  10. C# List的方法和属性