1

MacOS10.5.8でローカルにTomcat6を実行しています。ステージングサーバーと本番サーバーには、次の環境変数が設定されています。

LANG=en_US.UTF-8

ステージと本番環境はCentOSで実行され、JavaとTomcatの起動時にこの値を読み取ります。ただし、javaがこの値を読み取っていて、デフォルトでen_US_ISO_85591になっているようには見えません。ローカルマシンでは、javaとTomcatがユーザーとして実行されているため、.bash_profileファイルにLANG=en_US.UTF-8を追加しました。

それが役立つ場合、私たちが直面している状況は、データをページレベルの変数に変換する別のコントローラーにxml形式のUTF8データを配信するバックエンドサービスがあることです。ローカルでの変換プロセス中に、XMLデータがISO_85591形式に変換されてから、UTF-8に戻されると、次のエラーが発生します。

Invalid byte 1 of 1-byte UTF-8 sequence.

これを構成する別の方法はありますか?

4

1 に答える 1

3

tomcatのファイルエンコーディングは、CATALINA_OPTS環境変数で設定できます。

cd <tomcat_root>
CATALINA_OPTS="-Dfile.encoding=UTF-8"./bin/startup.sh
于 2009-11-02T21:05:33.893 に答える