解决Volley请求框架中文乱码问题

问题产生原因

1.服务端没有设置编码格式

2.Volley对于没有指定编码格式的请求默认将其转化为”ISO-8859-1”

解决办法

将返回的格式转化为UTF-8即可

String newResponse =new String(response.getBytes("ISO-8859-1"),"UTF-8"); `

示例代码如下

RequestQueue queue = Volley.newRequestQueue(this);
        StringRequest string = new StringRequest(Request.Method.GET, "http://www.baidu.com", new Response.Listener() {
            @Override
            public void onResponse(String response) {
                try {
                    //将数据转码为UTF-8//解决中文乱码问题
                    String newResponse = new String(response.getBytes("ISO-8859-1"),"UTF-8");
                    Log.e("response", newResponse);
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("error",error.toString());
            }
        });
   queue.add(string);

你可能感兴趣的:(解决Volley请求框架中文乱码问题)