web-dev-qa-db-ja.com

WindowsでTomcatのCharset.defaultCharsetを変更する

私はWindows 7でTomcat 6.0.32を使用しています。非常に単純なサーブレット内、initメソッド内で、次のように出力しています。

System.out.println(Charset.defaultCharset());

出力は次のとおりです。

windows-1253

私が理解している限り、スタンドアロンJavaクラスで同じように出力し、応答として「UTF8」を取得するため、JVMでTomcatがどのように開始するかがわかります。

では、どうすればこれをUTF-8に変更できますか?

ありがとう

18
nonouco

次の内容でsetenv.batファイルをTomcat/binディレクトリ内に作成するだけです。

set "Java_OPTS=%Java_OPTS% -Dfile.encoding=UTF8"
39
nonouco

この設定は、Tomcat 7.0 Windowsサービスマネージャーでも追加できます。

screenshot

Dr James Bayleyのブログ

14
James Bayley

Windowsサービスとして実行されているTomcatの場合、私の場合、%Java_OPTS%もsetenv.bat応答も機能しません。

レジストリでオプション「-Dfile.encoding = UTF8」を設定します。

"HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\tomcatstackTomcat\Parameters\Java->オプション*

その後、動作します。

6
lpi314

(Windows)環境変数Java_TOOL_OPTIONS-Dfile.encoding=UTF-8に設定して、Tomcat Serverを起動してみてください。

このリンクからより多くのアイデアが得られます: デフォルトの設定Java文字エンコーディング

2
UVM