Volley 获取网络数据出现乱码

作者: NanBox | 来源:发表于2016-11-12 18:05 被阅读65次

    这里以 StringRequest 请求为例,其它的类似写一个类继承 StringRequest,然后重写 Response<String> parseNetworkResponse(NetworkResponse response) 方法,将编码指定为 utf-8,代码如下:

    public class MyStringRequest extends StringRequest {
    
        public MyStringRequest(String url, Response.Listener<String> listener,
                               Response.ErrorListener errorListener) {
            super(url, listener, errorListener);
        }
    
        /**
         * 重写以解决乱码问题
         */
        @Override
        protected Response<String> parseNetworkResponse(NetworkResponse response) {
            String str = null;
            try {
                str = new String(response.data, "utf-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            return Response.success(str,
                    HttpHeaderParser.parseCacheHeaders(response));
        }
    }
    

    使用的时候用我们继承过的 MyStringRequest 类,而不是 StringRequest,问题就解决了。
    妥妥的。

    相关文章

      网友评论

        本文标题:Volley 获取网络数据出现乱码

        本文链接:https://www.haomeiwen.com/subject/pnuqpttx.html