Gebietsschema.getDefault() gibt immer de
Server auf unix-Rechner sind immer mit en als Standard-locale.
Folgende locale Ausgabe
LANG=en_US
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=C
Ich verstehe nur nicht, wenn Sie LANG ist dann richtig eingestellt, warum dann Server beginnt mit de locale.
InformationsquelleAutor der Frage Delta | 2012-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Linux/Unix/Mac, die Einstellungen
LC_ALL
undLANG
Steuern können das Standard-Gebietsschema für Java-Programme. In Windows, die locales gesetzt aus der Systemsteuerung, unter regions-und Sprachoptionen.Wenn die JVM startet in einer *nix Umgebung, wird Sie dies tun:
LC_ALL
LC_ALL
nicht vorhanden ist, Scannen Sie die Umgebung fürLANG
user.language
eingestellt ist, verwenden Sie diese anstelle der Umgebungsvariablen.en_US
(ich glaube, das ist das endgültige scheitern Fall)In Ihrer Umgebung haben Sie
LC_ALL
eingestelltC
die nur die C-locale. Es ist im Grunde eine traditionelle Alternative zu den Tagen, wenn die locales nicht verwendet.Können Sie ändern
LC_ALL
in Ihrem Fall, und starten der JVM, und Sie sollten einen neuen Wert fürjava.util.Locale.getDefault()
.Beispiel:
Hier läuft:
Beachten Sie auch, dass, wenn Sie die Ausführung von Java-1.7.0-b147, es gibt ein Problem mit der JRE nicht erkennt-Umgebung Einstellungen für Gebietsschema und verwendet immer das default system locale.
Bug-report hier: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7073906
InformationsquelleAutor der Antwort wkl