问题:使用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());