情形1:编码问题
要么GBK要么UTF8
new InputStreamReader(conn.getInputStream(), "UTF-8")
new InputStreamReader(conn.getInputStream(), "GB2312")
情形2:gzip压缩问题
两种编码都不能解决,那么基本确定返回的json
经过gzip
压缩的问题,解决方案是封装到GZIPInputStream
,然后将其read
到byte
数组,再转为String
即可
GZIPInputStream gis = new GZIPInputStream(conn.getInputStream());