So beheben Sie den Gebietsschemafehler

11

Ich habe gerade eine Neuinstallation von Ubuntu mit verwendet debootstrap. Wenn ich das tue sudo aptitude upgrade, erhalte ich folgende Fehlermeldung:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = (unset),
    LANG = "en_US.ISO-8859-1"
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_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Kann mir bitte jemand sagen, wie ich dieses Problem beheben kann? Ich sehe viele ähnliche Beiträge online, aber keiner von ihnen scheint das Problem zu lösen.

Ich benutze Ubuntu 14.04 LTS. Vielen Dank.


Zu Ihrer Information:

$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.iso88591
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

und

$ locale
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=
user1527227
quelle
1
Dies wurde hier bereits beantwortet askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue Zusammenfassung: Definieren Sie LC_ALL in / etc / default / locale
h7r

Antworten:

6

Das debootstraperstellt kein Gebietsschema. Also verwenden wir etwas anderes als Gebietsschema. Verwenden Sie diesen Befehl:

sudo locale-gen en_US.ISO-8859-1

Ich hoffe das hilft!


quelle
Nein, aptitudeist auch gültig. Ihre Antwort wird keine Änderungen am OP geben.
Danatela
2
Dies kann zwar den Gebietsschemafehler beheben, bietet Ihnen jedoch ein System mit Latin1-Codierung, das unter Ubuntu nicht geeignet ist.
Gunnar Hjalmarsson
Außerdem ~/.kde.env/setlocale.shsetzen Sie inexport LANG=en_US.UTF-8
user1527227
11

Ein Ubuntu-Desktop sollte mit UTF-8-Codierung eingerichtet werden. Aus irgendeinem Grund versucht Ihr System, das Gebietsschema latin1 en_US.ISO-8859-1 festzulegen. Das solltest du wirklich ändern.

Vielleicht findet die Einstellung in statt /etc/default/locale.

Wo immer es passiert, ändern Sie es in

LANG=en_US.UTF-8

Andernfalls werden Sie auf verschiedene Überraschungen im Zusammenhang mit dem Gebietsschema stoßen.

Gunnar Hjalmarsson
quelle
Sind Sie sicher, dass dies der richtige ist? Woher weißt du das?
user1527227
@ user1527227: Na ja, fast. ;) Weil AFAIK en_US.UTF-8auf jedem Ubuntu-Desktop vorgeneriert ist. Sie können dies jedoch einfach überprüfen, indem Sie den locale -aBefehl ausführen. Es wäre gut, wenn Sie die Frage bearbeiten und die Ausgabe dieses Befehls hinzufügen würden.
Gunnar Hjalmarsson
Ich habe die von Ihnen angeforderten Informationen hinzugefügt.
Benutzer1527227
1
@ user1527227: Ok, und da können wir en_US.utf8in der locale -aAusgabe sehen. Mein Rat, von en_US.ISO-8859-1zu Stand zu wechseln en_US.UTF-8.
Gunnar Hjalmarsson
Vielen Dank. Wissen Sie, wie man das genau macht? Ich sehe nicht /etc/default/locale. Kann ich einfach rennen sudo locale-gen en_US.utf8?
user1527227
8

Die dauerhafte Lösung des Gebietsschemaproblems besteht darin, die Gebietsschemavariablen in eine .bash_profileDatei zu exportieren . Sie können auch /etc/profileDatei anstelle von verwenden .bash_profile.

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

Vergessen Sie nicht sourcedas .bash_profileund folgen Sie dem Skript in einfacher Einrichtung.

Hier ist das Skript, mit dem das Problem mit dem Gebietsschema behoben wurde

Ajeet Khan
quelle
3

Das funktioniert bei mir.

  1. export LANGUAGE=en_US.UTF-8
  2. export LANG=en_US.UTF-8
  3. export LC_ALL=en_US.UTF-8
  4. sudo locale-gen en_US.UTF-8
  5. sudo dpkg-reconfigure locales
Airat Kazanbaev
quelle
1

Was für mich funktioniert hat ist wie folgt:

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales

Für eine dauerhafte Lösung können Sie setzen

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8

in deinem .zshrcoder.bashrc

Ref

  1. https://jee-appy.blogspot.com/2016/02/set-locale-on-ubuntu-permanent-solution.html
  2. https://www.thomas-krenn.com/de/wiki/Perl_warning_Setting_locale_failed_in_Debian
alpha_989
quelle