
Ich habe ein Problem beim Generieren der Locales auf meinem Server (Debian 7.5 stabil (Wheezy) (64bits)). Wenn ich als Root ausführe:
dpkg-reconfigure locales
Und wenn ich auswähle en_US.UTF-8
, erhalte ich die folgenden Protokolle:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_GB:en",
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
en_US.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_GB:en",
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "C"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_GB:en",
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "C"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
sh: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)
Irgendeine Idee, warum?
Danke schön!
Antwort1
Offenbar ist dies LANGUAGE=en_GB:en
in Ihrer Umgebung der Fall, Sie haben jedoch keine en_GB
anderen en
zu generierenden Varianten ausgewählt (der erste Teil des dpkg-reconfigure locales
).
Sie hatten wahrscheinlich en_GB
Ihre alte Standardeinstellung, haben diese aber jetzt aus der Liste der zu generierenden Gebietsschemas entfernt. Ihre Umgebung hat jedoch immer noch die alte Einstellung, sodass Perl sich beschwert, dass es das (alte) Gebietsschema nicht finden kann. Für englischsprachige Benutzer ist das an sich kein Problem, das Ersatzgebietsschema ist perfekt lesbar, also kein wirkliches Problem.
Wenn Sie sich abmelden und erneut anmelden, werden die neuen Einstellungen übernommen. Alternativ können Sie Folgendes tun:
source /etc/default/locale
aus deiner Shell.
Für manche Anwendungen ist die Lokalisierung für Ihr bestimmtes Gebietsschema möglicherweise nicht immer verfügbar. In solchen Fällen kann es hilfreich sein, die Anwendung wie folgt zu starten, da das C
Gebietsschema immer verfügbar sein sollte:
env LC_ALL=C applicationname