今天在开发腾讯微博应用的时候,发现部署在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方法是指把需要提交的参数追加到请求当中。
1F / 2011-07-07 09:43:31
你说的改为reqEntity.addPart(param[0], new StringBody(value,CharsetUtil.getCharset(chartSet)));
我也试过,但是服务器端却报编码格式异常什么问题啊?