En Linux/Unix/Mac, las configuraciones LC_ALL
y LANG
pueden controlar la configuración regional predeterminada para los programas Java. En Windows, las configuraciones regionales se establecen desde el Panel de control, en Opciones regionales y de idioma.
Cuando la JVM se inicia en un entorno * nix, que va a hacer esto:
- explorar el entorno de
LC_ALL
- Si
LC_ALL
no existe, explorar el entorno para LANG
- Si el Se establece la configuración JVM
user.language
, utilícela en lugar de las variables de entorno.
- Si no se establece, por defecto a
en_US
(creo que esto es el último caso el fracaso)
En su entorno, tiene LC_ALL
conjunto de C
, que es sólo el entorno nacional C. Básicamente es una alternativa tradicional a los días en que no se usaban las configuraciones regionales.
Puede cambiar LC_ALL
en su caja, y reiniciar su JVM, y debe obtener un nuevo valor para java.util.Locale.getDefault()
.
Ejemplo:
import java.util.Locale;
public class LocaleTest {
public static void main(String[] args) {
System.out.println(Locale.getDefault());
}
}
Aquí está corriendo:
> LC_ALL=en_UK java LocaleTest
en_UK
> LC_ALL=ja_JP java LocaleTest
ja_JP
También tenga en cuenta que si se está ejecutando Java 1.7.0-B147, hay un error con el JRE no reconocer la configuración del entorno de configuración regional, y siempre usará la configuración regional predeterminada del sistema.
Informe de error aquí: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7073906
hicieron reiniciar JVM? –