jak naprawić błąd ustawień regionalnych

11

Właśnie zrobiłem nową instalację Ubuntu przy użyciu debootstrap. Gdy to zrobię sudo aptitude upgrade, pojawia się następujący komunikat o błędzie:

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

Czy ktoś może mi powiedzieć, jak rozwiązać ten problem? Widzę wiele postów podobnych do tego w Internecie, ale żaden z nich nie wydaje się rozwiązać problemu.

Używam Ubuntu 14.04 LTS. Dzięki.


FYI:

$ 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

i

$ 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=
użytkownik1527227
źródło
1
Tutaj udzielono odpowiedzi już na askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue Podsumowanie: zdefiniuj LC_ALL na / etc / default / locale
h7r

Odpowiedzi:

6

debootstrapNie tworzy lokalizacyjnych. Dlatego używamy czegoś innego jako lokalizacji. Użyj tego polecenia:

sudo locale-gen en_US.ISO-8859-1

Mam nadzieję, że to pomoże!


źródło
Nie, też aptitudejest ważny. Twoja odpowiedź nie spowoduje żadnych zmian w PO.
Danatela
2
Chociaż może to rozwiązać problem z ustawieniami regionalnymi, daje ci system z kodowaniem Latin1, co nie jest odpowiednie dla Ubuntu.
Gunnar Hjalmarsson
Ponadto ~/.kde.env/setlocale.shustawiłeśexport LANG=en_US.UTF-8
użytkownik1527227
11

Pulpit Ubuntu powinien być skonfigurowany z kodowaniem UTF-8. Z jakiegoś powodu system próbuje ustawić ustawienia regionalne Latin1 en_US.ISO-8859-1. Naprawdę powinieneś to zmienić.

Może ustawienie ma miejsce w /etc/default/locale.

Gdziekolwiek się to zdarzy, zmień na

LANG=en_US.UTF-8

albo napotkasz różne niespodzianki związane z lokacją.

Gunnar Hjalmarsson
źródło
Czy jesteś pewien, że właśnie tego chcesz użyć? Skąd wiesz?
user1527227
@ user1527227: Cóż, prawie. ;) Ponieważ AFAIK en_US.UTF-8jest wstępnie generowany na każdym pulpicie Ubuntu. Ale możesz to łatwo sprawdzić, uruchamiając locale -apolecenie. Byłoby dobrze, gdybyś zredagował pytanie i dodał wynik tego polecenia.
Gunnar Hjalmarsson
dodałem informacje, o które prosiłeś.
user1527227
1
@ user1527227: Ok, i tam możemy zobaczyć en_US.utf8w danych locale -awyjściowych. Moja rada, aby zmienić z trybuny en_US.ISO-8859-1na en_US.UTF-8trybunę.
Gunnar Hjalmarsson
Dziękuję Ci. Czy wiesz jak to zrobić? Nie widzę /etc/default/locale. Czy mogę po prostu biegać sudo locale-gen en_US.utf8?
user1527227
8

Stałym rozwiązaniem problemu ustawień regionalnych jest eksportowanie zmiennych ustawień regionalnych do .bash_profilepliku. Możesz także użyć /etc/profilepliku zamiast .bash_profile.

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

Nie zapomnij i wykonaj skrypt w łatwej konfiguracji.source.bash_profile

Oto skrypt, który rozwiązuje problem ustawień regionalnych

Ajeet Khan
źródło
3

To działa dla mnie.

  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
źródło
1

Dla mnie zadziałało:

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

Aby uzyskać trwałe rozwiązanie, które możesz umieścić

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

w twoim .zshrclub.bashrc

Nr ref

  1. https://jee-appy.blogspot.com/2016/02/set-locale-on-ubuntu-permanent-solution.html
  2. https://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian
alpha_989
źródło