我正在调用一个使用 Apache HttpClient 返回 JSON 的宁静服务。
问题是当我在不同平台上运行代码时,响应的编码会得到不同的结果。
这是我的代码:
GetMethod get = new GetMethod("http://urltomyrestservice");
get.addRequestHeader("Content-Type", "text/html; charset=UTF-8");
...
HttpResponse response = httpexecutor.execute(request, conn, context);
response.setParams(params);
httpexecutor.postProcess(response, httpproc, context);
StringWriter writer = new StringWriter();
IOUtils.copy(response.getEntity().getContent(), writer);
当我在 OSX 上运行它时,亚洲字符等返回很好,例如响应中的张惠妹。但是当我在 linux 服务器上运行它时,相同的代码将字符显示为 ???
linux 服务器是运行 Java 1.6.0_26-b03 的 Amazon EC2 实例 我的本地 OSX 正在运行 1.6.0_29-b11
任何想法都非常感谢!!!!