Где JVM получает настройки локали в Ubuntu 10.10? - PullRequest
2 голосов
/ 20 января 2012

Мое веб-приложение работает нормально после того, как я изменил системный языковой стандарт, однако всякий раз, когда создаются файлы (java.text.numberformat.getCurrencyInstance ()), валюта, отображаемая в файлах, указывается в $, а не в €, который является валютой для системылокали.У веб-приложения нет проблем с отображением правильной валюты.Система является удаленным сервером Ubuntu 10.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=

1 Ответ

1 голос
/ 20 января 2012

Даже если в вашей удаленной системе задан языковой стандарт X, и вы подключаетесь с удаленного хоста, для которого задан языковой стандарт Y, ваш языковой стандарт (Y) может быть волшебным образом перенесен в удаленную систему для текущего сеанса (как TERM).

см. SendEnv LANG LC_* в man ssh_config.

Таким образом, ваше удаленное Java-приложение может получать различные настройки локали в зависимости от того, как вы его запускаете. Если он запускается как системная служба после перезагрузки на хосте A, он получит свои естественные настройки локали на хосте A (LANG = "C"), но если вы войдете с другого хоста B через ssh, с другими настройками локали (LANG = «pl_PL» на хосте B) Java-приложение, запущенное из этого сеанса ssh на хосте A, может получить (в зависимости от конфигурации ssh) языковые настройки с хоста B.

 _______________                         ______________
[ remote host A ]                       [ local host B ]
[ LANG="C"      ]  - - - - [ssh]- - - - [ LANG="pl_PL" ]
[ java app      ]                       [ xterm        ]
[_______________]                       [______________]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...