【okhttp】Post请求设置utf-8编码(解决汉语请求乱码问题) 如果⽤FormBody 发送post表单请求,就不能设置编码格式,contentType⽅法没有暴露出来,默认也不是UTF-8,参数是汉字就会乱码。
所以换⼀种⽅式 ,⽤  RequestBody
public static final MediaType FORM_CONTENT_TYPE
= MediaType.parse("application/x-www-form-urlencoded; charset=utf-8");
Map<String,String> formParams;//传参
StringBuffer sb = new StringBuffer();
//设置表单参数
for (String key: formParams.keySet()) {
//
sb.append(key+"="+(key)+"&");
url编码和utf8区别
}
Log.i("TAG", ""+sb.toString());
RequestBody body = ate(FORM_CONTENT_TYPE, sb.toString());
//创建请求
request = new Request.Builder()
.url(url)
.post(body)
.build();

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。