最近做项目遇到一个小问题,记录一下:
HttpURLConnection conn;
// 这里省略相关代码
在获取返回数据时肯定是要指定编码的:
InputStreamReader reader = new InputStreamReader(conn.getInputStream(), "UTF-8");
但是,如果这样还报错的话,请检查是否设置了Accept-Encoding:
conn.setRequestProperty("Accept-Encoding", "gzip, deflate");
把上面这句话注释掉就不会乱码了。想了解Accept-Encoding可以百度一下。