问题:使用HttpURLConnection获取数据中的中文乱码

鐧惧害涓?涓嬶紝浣犲氨鐭ラ亾

解决办法:

原则很简单,如果你是用了那种方式编码就使用哪种方式解码。java默认的应该是GBK,所以如果你发现用某些编辑器打开时乱码,那么一定是使用了不同的解码格式。而通过HttpURLConnection获取的数据是utf-8格式,所以可以从HttpURLConnection实例将获取服务器返回的输入流写到BufferedReader时,转成utf-8格式,代码如下

InputStream inputStream = connection.getInputStream();	
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"utf-8"));//转成utf-8格式
StringBuilder response = new StringBuilder();
String line;
while((line=reader.readLine())!=null){
	response.append(line);
}
System.out.println(response.toString());

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐