项目中发现使用HTTPClient的PostMethod方法有乱码,尝试使用
1. postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8");
2. client.getParams().setContentCharset("UTF-8"); client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
以上都无效的情况下可以在参数Part对象中设置编码:new StringPart(key,value, "utf-8");
不必再overwrite PostMethod,您可以試試看!如下:
postMethod.addRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8");<上面这句红色加粗的,也经我亲自验证,也是正确的,而且已经用到了系统中去。>
postMethod.addRequestHeader("Content-Type", PostMethod.FORM_URL_ENCODED_CONTENT_TYPE
+ "; charset=" + formEncode)