私はWindows 7でTomcat 6.0.32を使用しています。非常に単純なサーブレット内、initメソッド内で、次のように出力しています。
System.out.println(Charset.defaultCharset());
出力は次のとおりです。
windows-1253
私が理解している限り、スタンドアロンJavaクラスで同じように出力し、応答として「UTF8」を取得するため、JVMでTomcatがどのように開始するかがわかります。
では、どうすればこれをUTF-8に変更できますか?
ありがとう
次の内容でsetenv.batファイルをTomcat/binディレクトリ内に作成するだけです。
set "Java_OPTS=%Java_OPTS% -Dfile.encoding=UTF8"
この設定は、Tomcat 7.0 Windowsサービスマネージャーでも追加できます。
Windowsサービスとして実行されているTomcatの場合、私の場合、%Java_OPTS%もsetenv.bat応答も機能しません。
レジストリでオプション「-Dfile.encoding = UTF8」を設定します。
"HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\tomcatstackTomcat\Parameters\Java->オプション*
その後、動作します。
(Windows)環境変数Java_TOOL_OPTIONS
を-Dfile.encoding=UTF-8
に設定して、Tomcat Server
を起動してみてください。
このリンクからより多くのアイデアが得られます: デフォルトの設定Java文字エンコーディング