发现内网两台机器通过HttpClient传递消息出现中文乱码。
原来的代码是:
Request .Post(requestURL) .connectTimeout(250) .socketTimeout(500) .bodyForm(Lists.newArrayList(new BasicNameValuePair("json", message))) .execute();
发现bodyForm有重载方法:
1 public Request bodyForm(final Iterable <? extends NameValuePair> formParams, final Charset charset) { 2 return body(new UrlEncodedFormEntity(formParams, charset)); 3 }
关键是如果不传递Charset的默认值是:
1 public static final Charset DEF_CONTENT_CHARSET = Consts.ISO_8859_1;
那避乱不可,解决就很简单了