[java]默认语言(user.language)和默认区域(user.region)设置

[java]默认语言(user.language)和默认区域(user.region)设置



一、在系统属性中设置
1、win下在控制面板中设置
这个大家都会、不作详细说明。


二、Linux下

1、RHEL/CentOS : 修改 /etc/sysconfig/i18n 的 LANG变量
英文:en_US.UTF8
中文:zh_CN.UTF8


1 2 3 [root@cloevm ~]# cat /etc/sysconfig/i18n LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"

2、Solaris :修改 /etc/default/init 的LANG变量

英文: EN
中文: zh
1 2 3 4 -bash-3.00# cat /etc/default/init |grep LANG # TZ, LANG, CMASK, or any of the LC_* environment variables.value may #LANG=zh LANG=EN

三、在Tomcat下也可以设置默认的语言和区域
1、在catalina.sh 或catalina.bat中设置启动参数
java -Djava.util.logging.config.file=/ytxt/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms1024m -Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=512M -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -Djava.endorsed.dirs=/ytxt/tomcat6/endorsed -classpath /ytxt/tomcat6/bin/bootstrap.jar -Dcatalina.base=/ytxt/tomcat6 -Dcatalina.home=/ytxt/tomcat6 -Djava.io.tmpdir=/ytxt/tomcat6/temp -Duser.language=zh -Duser.region=CN org.apache.catalina.startup.Bootstrap start



"$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
-Duser.language="zh" \
-Duser.region="CN" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 &



四、报以下错误往往是由于默认语言和默认区域没有设置正确、或者配置文件找不到导致的。
Caused by: java.util.MissingResourceException: Can't find bundle for base name tyvencode, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:705)
at com.tyyd.tyven.commons.message.TyvenErrors.(TyvenErrors.java:21)
... 54 more



错误原因分析:
1)、在classpath下找不到tyvencode_en_US.properties 或者tyvencode.properties但是有tyvencode_zh_CN.properties
2)、默认语言和默认区域没有设置正确
解决办法一:
1)、将操作系统的默认语言和区域改成中文、中国
解决办法二:
1)、tomcat启动时指定参数-Duser.language=zh -Duser.region=CN


【[java]默认语言(user.language)和默认区域(user.region)设置】

    推荐阅读