Volley get请求上传中文参数,后台接收到的是乱码的解决办法
try {
keywords = URLEncoder.encode(keywords, "utf-8"); //先对中文进行UTF-8编码
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String url = String.format(Constant.SERVER_URL + "keywords=%skeywords);
StringRequest stringRequest = new StringRequest(Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
onNetListener.onResponse(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {//设置get请求的头,编码格式也为UTF-8
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Charset", "utf-8");
headers.put("Content-Type", "application/x-javascript");
headers.put("Accept-Encoding", "gzip,deflate");
return headers;
}
};