java get 请求 返回值乱码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java get 请求 返回值乱码相关的知识,希望对你有一定的参考价值。
如题,
直接在浏览器地址栏中输入该地址
http://116.236.151.122/login/login.php?loginname=name&password=pwd&orgcode=test&loginsys=2&isSubmit=1
返回值正常是一串json数据,可解析;
但是程序请求返回值则是乱码,不可解析;
程序如下:
//Get public HttpClient httpclient = new HttpClient(); public String getlogin() String result = null; GetMethod get = new UTF8GetMethod("http://116.236.151.122/login/login.php?loginname=name&password=pwd&orgcode=test&loginsys=2&isSubmit=1"); try httpclient.executeMethod(get); result = get.getResponseBodyAsString(); catch (Exception e) e.printStackTrace(); return result; public static class UTF8GetMethod extends GetMethod public UTF8GetMethod(String url) super(url); @Override public String getRequestCharSet() return "utf-8";
程序返回值如下图:
请教各位大神,解决办法!!!
您好,提问者:
如果包含中文,不建议使用get方式,可采用post提交方式。
//加码
String str = java.net.URLEncoder.encode("中国","UTF-8");
//解码
String jiema = java.net.URLDecoder.decode(str,"UTF-8");追问
你好,数据中不包含中文,您的回答没有解决上述问题,运行得到结果还是乱码。
感谢回答!!!
\u9519\u8bef\u7684\u5355\u4f4d\u7b80\u79f0
这还没中文?
十六进制转换后汉字为:错误的单位简称
这个是在浏览器中的返回值,这种数据转码就可以了,现在的问题在于程序中请求得到的是乱码,如题目中图片的问题该怎么解决?
追答换成post也是乱码吗? 如果包含中文,不建议使用get方式,可采用pos方式。
追问post同样是乱码,代码如下:
建议您在本地运行之后在回答,非常感谢!!!
ContentType("text/html; charset=编码格式")告诉浏览器采用什么编码格式。
以上是关于java get 请求 返回值乱码的主要内容,如果未能解决你的问题,请参考以下文章
spring RestTemplate发送请求返回值乱码问题解决心得
JsonObjectRequest GET 方法返回值后请求获取值
Spring MVC @ResponseBody注解返回值中文乱码问题