项目中的网络请求 使用的google的亲儿子Volley,一直很友好,然后乱码了。
对接口返回的数据进行了跟踪,数据格式是UTF-8,排除这个原因(见下图)
看了网上的帖子,Volley 默认 使用的"ISO-8859-1" 格式进行的解析,大多都是因为ISO-8859-1 编码格式导致的问题,去看看 。。。
parsed =newString(response.data,HttpHeaderParser.parseCharset(response.headers,"UTF-8")); 这里已 经使用UTF-8 解析了,也排除了这个原因,百思不得其姐。。。
好吧。。。再看下 接口返回的数据,看到了一丝蛛丝马迹
Content-Encoding是 gzip.........是gzip啊,原来我们的一台服务器开启了nginx的zip压缩,返回数据是一个压缩数据,怪不得 解析乱码了
解决办法,将gzip格式的数据,通过流读取出来,再进行解析。
网友评论