Volly,用于请求网络数据中,如果用中文,用StringRequest请求时,无法设定字符串的编码格式。
若服务器端返回的数据的编码格式与我们用的不统一就会出现乱码问题。
解决方法:
自定义StringRequest请求类,并继承StringRequest类,重写parseNetworkResponse方法。
/**
* 重写以解决乱码问题
*/
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
String str = null;
try {
str = new String(response.data, "gb2312");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return Response.success(str,
HttpHeaderParser.parseCacheHeaders(response));
}