JVM 从哪里获得 ubuntu 10.10 中的语言环境设置?

Posted

技术标签:

【中文标题】JVM 从哪里获得 ubuntu 10.10 中的语言环境设置?【英文标题】:Where does the JVM get the locale settings in ubuntu 10.10? 【发布时间】:2012-02-14 15:29:57 【问题描述】:

更改系统区域设置后,我的 Web 应用程序运行良好,但是每当生成文件 (java.text.numberformat.getCurrencyInstance() ) 时,文件中显示的货币为 $ 而不是系统货币为 €语言环境。不过,Web 应用程序显示正确的货币没有问题。该系统是一个远程 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=

【问题讨论】:

列出您已经尝试过的内容可能会阻止无用的答案并鼓励新的建议。你看过这篇博文吗:blog.andrewbeacock.com/2007/01/… 【参考方案1】:

即使您的远程系统的语言环境设置为 X,并且您从远程主机连接且语言环境设置为 Y,您的语言环境 (Y) 也可以神奇地转移到当前会话的远程系统(就像 TERM 一样)。

man ssh_config 中查看SendEnv LANG LC_*

因此,您的远程 Java 应用程序可能会根据您的启动方式获得不同的区域设置。 如果它在主机 A 上重新启动后作为系统服务启动,它将在主机 A (LANG="C") 上获得它的自然语言环境设置,但如果您通过 ssh 从另一个主机 B 登录,使用不同的语言环境设置 (LANG=主机 B 上的“pl_PL”)从主机 A 上的 ssh 会话启动的 java 应用程序可能会从主机 B 获取(取决于 ssh 配置)区域设置。

_______________ ______________ [远程主机A] [本地主机B] [ LANG="C" ] - - - - [ssh]- - - - [ LANG="pl_PL" ] [Java 应用程序] [xterm] [_______________] [______________]

【讨论】:

Web 应用程序在启动时在远程主机上启动。并且所有与它的连接都是通过网络浏览器进行的。另外请记住,Web 应用程序实际上以正确的语言环境显示网页上的所有内容,只是在生成 PDF 文件时,所有货币格式都以 $ 为单位。

以上是关于JVM 从哪里获得 ubuntu 10.10 中的语言环境设置?的主要内容,如果未能解决你的问题,请参考以下文章

关于ubuntu 10.10中的initramfs问题,高手来啊--

ubuntu10.10用路由器如何联网的问题!

ubuntu10.10无法更新

设置Ubuntu 10.10版本的软件源

默认情况下通过 Ubuntu 10.10 上的 MySQLdb Python 库访问 XAMPP

ubuntu10.10下QT开发环境搭建