httpClient 4.x中,MultipartEntity中附加中文信息时的乱码解决

无鸯 发布于 2011/12/18 09:30
阅读 3K+
收藏 1

今天在开发腾讯微博应用的时候,发现部署在Linux上面的jsp无法同时发送图片和汉字,会出现鉴权失败的错误,原因是参数中的中文汉字乱码了!但是在本地winxp环境使用eclipse调试却可以正常发送!

经过调试,发现是httpClient中的MultipartEntity参数编码出现了异常,修改如下:
MultipartEntity reqEntity = new MultipartEntity();
..........
reqEntity.addPart(param[0], new StringBody(value));
改为
MultipartEntity reqEntity = new MultipartEntity();
..........
reqEntity.addPart(param[0], new StringBody(value,CharsetUtil.getCharset(chartSet)));

chartSet是一个字符串变量,指编码格式,我的值是"UTF-8"。

MultipartEntity的addPart方法是指把需要提交的参数追加到请求当中。

加载中
0
A
Attmore
CharsetUtil是什么?????SDK2.1里面木有啊
0
Mc头骨
Mc头骨
2.2表示没有~
new FileBody(xxx,"mp4",??)如何设置
0
Branch
Branch
entityBuilder.setCharset(Charset.forName(HTTP.UTF_8));
entityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
ContentType contentType = ContentType.create(
HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8);
entityBuilder.addTextBody(param.getKey(), param.getValue(),

contentType);

要记得设置浏览器兼容

返回顶部
顶部