0

以下のコードを使用して API からの応答を取得しています。

         String urlRequest = "<actual URL>";

        //Setting the url to the URL object
        URL url = new URL(urlRequest);

        //opening connection that to get the response
        URLConnection urc = url.openConnection();

        //reading the response in the input stream
        BufferedReader brdr = new BufferedReader(new 
                               InputStreamReader(urc.getInputStream()));
        StringBuffer resBuf = new StringBuffer();
        String tempStrRes = new String();
        System.out.println(tempStrRes);

Tomcat から他の言語の文字に対して正しいエンコードされた応答を取得しますが、他の Tomcat を使用すると、エンコードが適切に処理されず、他の言語の文字が ??????? として表示されます。

両方の tomcat マシンの server.xml ファイルを確認しましたが、それらは同一です。

次のようにコードを変更することで、正しい応答を得ることができます。

   BufferedReader brdr = new BufferedReader(new 
                               InputStreamReader(urc.getInputStream(),"utf-8"));

しかし、問題の原因を知りたいです (コンテンツは 1 つの tomcat では適切にエンコードされていますが、別の tomcat では適切にエンコードされていません)。Tomcat から転送されるリクエストに対して設定する必要があるものはありますか?

4

1 に答える 1