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

2014-04-30 12:05

今天在开发腾讯微博应用的时候,发现部署在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方法是指把需要提交的参数追加到请求当中。

^