题
当我在 Linux 计算机上使用默认的 java 语言环境时,它会显示美国语言环境设置,我应该在哪里更改它才能显示正确的语言环境?
解决方案
我相信 java 从启动它的环境变量中收集这一点,因此您需要确保 LANG 和 LC_* 环境变量设置正确。
语言环境 联机帮助页 具有有关所述环境变量的完整信息。
其他提示
随着 user.language
, user.country
和 user.variant
特性。
例子:
java -Duser.language=th -Duser.country=TH -Duser.variant=TH SomeClass
我必须在具有法语语言环境的计算机上运行的脚本中对此进行控制,但特定的 Java 程序必须使用 en_US 运行。正如已经指出的,以下工作有效:
java -Duser.language=en -Duser.country=US ...
或者,
LC_ALL=en_US.UTF-8 java ...
我更喜欢后者。
你可以在 init 或其他什么时候调用 Locale.setDefault() 或在命令行中使用 -Duser.language=、-Duser.country= 和 -Duser.variant=。 这是 Sun 网站上的一些内容.
对于像这样的工具 jarsigner
这是用Java实现的。
JAVA_TOOL_OPTIONS=-Duser.language=en jarsigner
您可以在控制台上更改:
$ export LANG=en_US.utf8
如果您想检查 java 正在使用的语言环境或字符集,则将其内置于 JVM 中:
java -XshowSettings -version
它会转储它正在使用的大量设置。这样您就可以检查您的 LANG
和 LC_*
值被正确获取。
如果您使用的是 Mac,只需使用“系统偏好设置”->“语言”并将要测试的语言拖到顶部(英语之前)即可确保您下次打开应用程序时尝试正确的区域设置!
在 Linux 上,创建文件 /etc/default/locale
包含以下内容
LANG=en.utf8
然后使用 source
通过运行导出此变量的命令
source /etc/default/locale
source 命令永久设置该变量。
控制区域设置的一种方法是设置 java 系统属性 user.language 和 user.region。