安卓HTTPClient如何指定为UTF-8编码

MultipartEntitympEntity=newMultipartEntity();List<BasicNameValuePair>pairs=newArrayLi... MultipartEntity mpEntity = new MultipartEntity();
List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>();
Iterator<String> iter = pawLs.keySet().iterator();
String key = "";
while (iter.hasNext()) {
key = iter.next();
pairs.add(new BasicNameValuePair(key, pawLs.get(key)));
StringBody par;
try {
par = new StringBody(pawLs.get(key));
mpEntity.addPart(key, par);
} catch (Exception e) {
e.printStackTrace();
}
}
myreq = new HttpPost(url);
try {
//((HttpPost) myreq).setEntity(new UrlEncodedFormEntity(pairs, HTTP.UTF_8));
((HttpPost) myreq).setEntity(mpEntity);
}
catch{.......}

用BasicNameValuePair的我知道怎么指定,但是用MultipartEntity做参数的如何指定编码
展开
 我来答
浅浅半4dab
推荐于2016-10-21 · TA获得超过617个赞
知道小有建树答主
回答量:352
采纳率:100%
帮助的人:375万
展开全部
在http头的Content-Type字段可能会包含字符编码信息。例如可能返回的头会包含这样子的信息:Content-Type: text/html; charset=UTF-8。这个头信息表明该页的编码是UTF-8,
设置在http头的Content-Type的字符编码:httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
对于象xml或者html这样的文件,允许作者在页面中直接指定编码类型。比如在html中会有<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>这样的标签;或者在xml中会有<?xml version="1.0" encoding="gb2312"?>这样的标签,在这些情况下,可能与http头中返回的编码信息冲突,需要用户自己判断到底那种编码类型应该是真正的编码。
可能有效:String ret = new String(postMethod.getResponseBodyAsString().getBytes("UTF-8"));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
留風
推荐于2018-03-04
知道答主
回答量:25
采纳率:0%
帮助的人:9.7万
展开全部
CustomMultiPartEntity entity=new CustomMultiPartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,null,Charset.forName("UTF-8"),listener);
entity.addPart(title, new StringBody(message,Charset.forName("UTF-8")));
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式