当我在我的 linux 机器上使用默认的 java 语言环境时,它会出现美国语言环境设置,我在哪里可以更改它以使其具有正确的语言环境?
10 回答
具有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 ...
我更喜欢后者。
我相信 java 从它启动的环境变量中收集到这一点,所以你需要确保你的 LANG 和 LC_* 环境变量设置得当。
语言环境手册页包含有关所述环境变量的完整信息。
您可以在 init 期间调用或在命令行中调用任何Locale.setDefault()或 -Duser.language=、-Duser.country= 和 -Duser.variant=。这是 Sun 网站上的内容。
对于像jarsigner
在 Java 中实现的工具。
JAVA_TOOL_OPTIONS=-Duser.language=en jarsigner
如果你想检查 java 使用的是什么语言环境或字符集,这是 JVM 内置的:
java -XshowSettings -version
它会转储它正在使用的大量设置。通过这种方式,您可以检查您的LANG
价值观LC_*
是否被正确拾取。
您可以在控制台上更改:
$ export LANG=en_US.utf8
如果您在 Mac 上,只需使用系统偏好设置 -> 语言并将要测试的语言拖到顶部(在英语之前)将确保下次打开应用程序时,尝试正确的语言环境!
在linux上,/etc/default/locale
使用以下内容创建文件
LANG=en.utf8
然后使用source
命令通过运行导出此变量
source /etc/default/locale
source 命令永久设置变量。
控制区域设置的一种方法是设置 java 系统属性 user.language 和 user.region。