首页 新闻 搜索 专区 学院

java后台请求http后,返回json格式的数据,但是中文部分显示乱码。

0
悬赏园豆:10 [已解决问题] 解决于 2016-03-18 11:25

java后台请求http后,返回json格式的数据,但是中文部分显示乱码。

String uri = gps_url + "&uid=" +uid+ "&uKey=" +uKey+"";
URL url = new URL(uri);
String str ="";
BufferedReader bf = new BufferedReader(new InputStreamReader(url.openStream()));
while(null != (str = bf.readLine())){
    System.out.println(str);
}

str控制台打印出来       

{"version":1,"success":true,"data":[{"id":6472767,"name":"闄旳X698V澶т紬",。。。

求大神解决一下

kmanng的主页 kmanng | 初学一级 | 园豆:121
提问于:2016-03-18 10:05
< >
分享
最佳答案
2

BufferedReader中设置GB2312

收获园豆:10
jello chen | 大侠五级 |园豆:7096 | 2016-03-18 10:44

我设置成了utf-8

谢大神!!已解决!!!

kmanng | 园豆:121 (初学一级) | 2016-03-18 11:25

@kmanng: 怎么设置的哦

黄哥是无敌是 | 园豆:200 (初学一级) | 2016-10-27 08:42

@黄哥是无敌是: BufferedReader in = new BufferedReader(
new InputStreamReader(conn.getInputStream(),"utf-8"));

deyu | 园豆:200 (初学一级) | 2017-06-02 15:29
其他回答(3)
1

response设置一下编码格式

  1.  //设置编码格式   encoding一般是utf-8
  2.  response.setContentType("text/plain;charset=" + encoding);  
  3.  response.setCharacterEncoding(encoding); 
藏红 | 园豆:209 (菜鸟二级) | 2016-03-18 10:07

我设置了,但是依旧不对啊!!

public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
response.setContentType("utf-8");
response.setCharacterEncoding("utf-8");
}

支持(0) 反对(0) kmanng | 园豆:121 (初学一级) | 2016-03-18 10:37
0

页面是什么编码?

关外野店 | 园豆:188 (初学一级) | 2016-03-18 11:15
0

java后台是可以设置的

InputStream inputStream = new InputStreamReader(url.openStream());

Reader reader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bf = new BufferedReader(reader);

可乐泥巴 | 园豆:186 (初学一级) | 2016-03-18 11:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册