2

システムロケールを変更した後、Webアプリは正常に実行されますが、ファイルが生成されるたびに(java.text.numberformat.getCurrencyInstance())、ファイルに表示される通貨は、システムロケールの通貨である€ではなく$になります。ただし、Webアプリケーションには、正しい通貨の表示に問題はありません。システムはリモートubuntu10.10サーバーです。私はすべてのシステムロケール設定の可能性を使い果たしましたが、何度も再起動した後でも、まだ答えに近づいていません。[編集]私は以下を試しました:

https://askubuntu.com/questions/89976/how-to-change-the-default-locale-in-ubuntu-10-10-server 表示の問題を解決する問題が最初に発生したとき。

localepurgeを使用して、フランス語を除く他のすべてのロケールをパージしました。

/ etc / default / localeを編集して、以下を含めました。

LANG=fr_FR.UTF-8
LANGUAGE=fr_FR
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY=fr_FR.UTF-8
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
4

1 に答える 1

1

リモートシステムのロケールがXに設定されていて、ロケールがYに設定されているリモートホストから接続している場合でも、ロケール(Y)を現在のセッションのリモートシステムに魔法のように転送できます(TERMのように)。

を参照SendEnv LANG LC_*してくださいman ssh_config

そのため、リモートJavaアプリは、起動方法に応じて異なるロケール設定を取得する場合があります。ホストAで再起動した後にシステムサービスとして開始された場合、ホストAでは自然なロケール設定(LANG = "C")が取得されますが、別のホストBからssh経由でログインした場合、ロケール設定は異なります(LANG =ホストBの「pl_PL」)ホストAのそのsshセッションから開始されたJavaアプリは、ホストBから(ssh構成に応じて)ロケール設定を取得する場合があります。

_______________ ______________
[リモートホストA][ローカルホストB]
[LANG = "C"] --- --- [ssh] --- --- [LANG = "pl_PL"]
[javaアプリ][xterm]
[_______________] [______________]
于 2012-01-20T00:00:52.340 に答える