分享

HttpClient POST的中文编码问题

 风_宇星 2015-04-23
 

在用到HttpClient的基本请求和响应时候,发现默认的编码是“ISO-8859-1”,这样就存在中文乱码问题了,解决办法如下,记录一下:

http://hc./httpclient-3.x/charencodings.html#Request_Response_Body

三种形式:
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
        postMethod.addRequestHeader("Content-Type","text/html;charset=UTF-8");
        postMethod.setRequestHeader("Content-Type", "text/html;charset=UTF-8");
posted on 2009-01-22 00:55 忆风 阅读(23086) 评论(7)  编辑  收藏 所属分类: Java EE

评论:
# re: HttpClient POST的中文编码问题 2009-06-05 17:35 | okhaoba
我的方法:

HttpClient client = new HttpClient();
//设置超时时间
client.getHttpConnectionManager().getParams().setSoTimeout(timeOut);
//使用post方式,参数长度不受限制
//postMethod = new PostMethod(url);
postMethod = new UTF8PostMethod(url);
//设置参数
NameValuePair[] nameValue = new NameValuePair[] { new NameValuePair("××param", xmlParamStr) };
postMethod.setRequestBody(nameValue);
//发送请求
state = client.executeMethod(postMethod);


private static class UTF8PostMethod extends PostMethod {
public UTF8PostMethod(String url) {
super(url);
}

@Override
public String getRequestCharSet() {
//return super.getRequestCharSet();
return "UTF-8";
}
}   
































    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多