come correggere l'errore di localizzazione


11

Ho appena fatto una nuova installazione di Ubuntu utilizzando debootstrap. Quando lo faccio sudo aptitude upgrade, ricevo questo messaggio di errore:

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

Qualcuno può dirmi come risolvere questo problema? Vedo molti post simili a questo online, ma nessuno di questi sembra risolvere il problema.

Sto usando Ubuntu 14.04 LTS. Grazie.


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

e

$ 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=

1
A questa risposta è già stata data una risposta askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue Summary: definisci LC_ALL su / etc / default / locale
h7r

Risposte:


6

Il debootstrapnon crea un locale. Quindi usiamo qualcos'altro come locale. Usa questo comando:

sudo locale-gen en_US.ISO-8859-1

Spero che questo possa essere d'aiuto!


No, aptitudeè valido anche. La tua risposta non darà alcuna modifica al PO.
Danatela,

2
Sebbene ciò possa risolvere l'errore di localizzazione, ti dà un sistema con codifica latin1, che non è adatto su Ubuntu.
Gunnar Hjalmarsson

Inoltre, in ~/.kde.env/setlocale.sh, impostiexport LANG=en_US.UTF-8
user1527227

11

Un desktop Ubuntu dovrebbe essere impostato con la codifica UTF-8. Per qualche motivo il sistema tenta di impostare la locale latin1 en_US.ISO-8859-1. Dovresti davvero cambiarlo.

Forse l'impostazione si svolge in /etc/default/locale.

Ovunque accada, cambiarlo in

LANG=en_US.UTF-8

altrimenti incontrerai varie sorprese legate al locale.


Sei sicuro che sia quello da usare? Come lo sai?
user1527227

@ user1527227: Beh, quasi. ;) Perché AFAIK en_US.UTF-8viene pre-generato su ogni desktop Ubuntu. Ma puoi controllarlo facilmente eseguendo il locale -acomando. Sarebbe utile se modificassi la domanda e aggiungessi l'output di quel comando.
Gunnar Hjalmarsson,

ho aggiunto le informazioni richieste.
user1527227

1
@ user1527227: Ok, e non ci possiamo vedere en_US.utf8in locale -auscita. Il mio consiglio di cambiare da en_US.ISO-8859-1a en_US.UTF-8stand.
Gunnar Hjalmarsson

Grazie. Sai come farlo esattamente? Non vedo /etc/default/locale. Posso solo correre sudo locale-gen en_US.utf8?
user1527227,

8

La soluzione permanente del problema di localizzazione è l'esportazione delle variabili di localizzazione nel .bash_profilefile. Puoi anche usare /etc/profilefile invece di .bash_profile.

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

Non dimenticate di sourcela .bash_profilee seguire la sceneggiatura in una facile configurazione.

Ecco lo script che risolve il problema delle impostazioni locali


3

Questo funziona per me.

  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


1

Ciò che ha funzionato per me è il seguente:

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

Per una soluzione permanente puoi mettere

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

nel tuo .zshrco.bashrc

arbitro

  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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.