ApacheHttpClientを使用してJSONを返すRESTfulサービスを呼び出しています。
問題は、異なるプラットフォームでコードを実行すると、応答のエンコードで異なる結果が得られることです。
これが私のコードです:
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サーバーはJava1.6.0_26-b03を実行しているAmazonEC2インスタンスです私のローカルOSXは1.6.0_29-b11を実行しています
どんなアイデアも本当にありがたいです!!!!!