Yerel ayar sorunumu nasıl giderebilirim?

458

Bu mesajı, bir hizmeti başlatmak veya durdurmak gibi bir şey yaptığımda her zaman alıyorum.

perl: warning: Setting locale failed.   
perl: warning: Please check that your locale settings:   
        LANGUAGE = "en_US:en",   
        LC_ALL = (unset),   
        LC_MESSAGES = "en_US.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_MESSAGES to default locale: No such file or directory   
locale: Cannot set LC_ALL to default locale: No such file or directory   
(Reading database ... 21173 files and directories currently installed.)  
Removing bind9 ...  
 * Stopping domain name service... bind9                                        [ OK ]
Processing triggers for man-db ...   
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   

Bu hatayı nasıl düzeltirim?

    
sordu HackToHell 11.07.2012 16:08

19 cevap

468

Geçerli kullanıcı hesabı için şu anda hangi yerel alanları tanımlandığını listelemek için locale ilkini çalıştırın:

$ locale
LANG=C
LANGUAGE=
LC_CTYPE=fi_FI.UTF-8
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE=fi_FI.UTF-8
LC_MONETARY="C"
LC_MESSAGES=fi_FI.UTF-8
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

Sonra, eksik yerel ayarı oluşturun ve uyarı almak için yerel ayarları yeniden yapılandırın:

$ sudo locale-gen "en_US.UTF-8"
Generating locales...
  en_US.UTF-8... done
Generation complete.

$ sudo dpkg-reconfigure locales
Generating locales...
  en_US.UTF-8... up-to-date
Generation complete.

Artık artık bir hata görmeyeceksiniz!

    
verilen cevap Otto Kekäläinen 10.12.2012 13:45
337

Yukarıda önerilen hiçbir şey benim durumumda çalıştı (Ubuntu Server 12.04LTS). Nihayet yardım etti /etc/environment dosyasına koyuluyordu:

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

Bazı nedenlerden dolayı eksikti. Yerel ayarlar ve diğer komutlar için çıktılar, değişkenler uygun şekilde tanımlanmış gibi görünüyordu. Diğer bir deyişle, kabul edilmemesi gereken tüm temel şeylerin beyan edildiği anlamına gelmez.

    
verilen cevap Marcin 16.12.2012 05:11
139

Verildikten sonra kaybolmaları gerekir:

sudo locale-gen en_US en_US.UTF-8
sudo dpkg-reconfigure locales 

dpkg-reconfigure , paketler önceden oluşturulduktan sonra yeniden yapılandırılıyor        Kurulmuş. Yeniden yapılandırmak için bir paketin veya paketlerin adını aktarın.        Paketin ne zaman olduğu gibi konfigürasyon sorularını soracaktır.        İlk yüklendi.

    
verilen cevap Rinzwind 11.07.2012 16:19
106

Aşağıdakileri .bashrc dosyanıza ekleyin (bash kullandığınızı varsayalım)

export LC_ALL="en_US.UTF-8"
    
verilen cevap ratz 08.11.2012 10:42
88

Uzaktan bağlanıyorsanız, bu yaygın bir sorundur, bu nedenle çözüm, yerel ayarlarınızı yönlendirmemektir. % Co_de% değerini düzenleyin ve /etc/ssh/ssh_config satırını yorumlayın.

    
verilen cevap user249697 01.10.2014 02:45
62

Bunun için bir komut var:

sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

Sağlanan değerlerle /etc/default/locale öğesini günceller.

    
verilen cevap sgtpep 01.08.2014 13:51
30

12.10'da benim için çalışılan şey şuydu:

apt-get install language-pack-en-base  

Bu, dpkg-reconfigure locales sonuç alınamadı.

    
verilen cevap George Answerology 28.04.2013 04:01
16

SSH oturumunuzdan (veya X11'inizden) çıkıp tekrar giriş yaparak çıkmayı unutmayın. Geriye giriş yapmadıkça tüm bu öneriler benim için çalışmadı ....

    
verilen cevap Michael R. Hines 26.09.2014 08:51
11

Ubuntu 12.10 için, yukarıdakilerin hiçbiri, sıçanların çözümü dışında işe yaramadı. Bunu /etc/bash.bashrc dosyanıza eklemenizi öneririz:

export LC_ALL="en_ZA.UTF-8"
export LC_CTYPE="en_ZA.UTF-8"
    
verilen cevap Lovemore Nalube 27.03.2013 04:19
11

Yerel makinemin es değerine ayarlandığı ve uzak makinenin ( vagrant aracılığıyla) işlenmemiş bir durumda temel alındığı garip bir durumda kaldım. Bu nedenle, export= kılavuzunu yalnızca dpkg-reconfigure başarılı bir şekilde kolaylaştırmak için kullanmam gerekiyordu. Sonra sistem iyi.

export LC_ALL="en_US.UTF-8"
sudo dpkg-reconfigure locales
    
verilen cevap charneykaye 22.03.2016 19:02
9

Düzeltmek için bash betiği yazdım Yukarıdaki yanıtlar.Aşağıdaki cevaplar yararlıdır ancak kabuk değişkenindeki değerleri basitçe dışa aktararak yerel değişkenleri ayarlamak yalnızca bir oturum için çalışacaktır. Bu sorunu .bash_profile dosyasındaki yerel değişkenleri dışa aktararak kalıcı olarak çözdüm. % Co_de% yerine /etc/profile dosyasını da kullanabilirsiniz.

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

.bash_profile 'si source ' yi unutmayı ve komut dosyası .

    
verilen cevap Ajeet Khan 27.02.2016 20:26
8

Şunları deneyebilirsiniz:

export LANGUAGE=ru_RU.UTF-8
export LC_CTYPE=ru_RU.UTF-8
export LC_NUMERIC=ru_RU.UTF-8
export LC_TIME=ru_RU.UTF-8
export LC_COLLATE=ru_RU.UTF-8
export LC_MONETARY=ru_RU.UTF-8
export LC_MESSAGES=ru_RU.UTF-8
export LC_PAPER=ru_RU.UTF-8
export LC_NAME=ru_RU.UTF-8
export LC_ADDRESS=ru_RU.UTF-8
export LC_TELEPHONE=ru_RU.UTF-8
export LC_MEASUREMENT=ru_RU.UTF-8
export LC_IDENTIFICATION=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8

ru_RU ülkenizin kodudur.

    
verilen cevap Koss 17.06.2013 15:34
6

Burada Debian Wiki'de belirttiğiniz gibi, /etc/locale.gen 'yi düzenleyebilir ve tüm yerelleri ekleyebilirsiniz (ya da uncomment on, Sisteminizde destek almak istediğiniz tüm yerellerin bir listesi vardı, ancak yorum olarak kullandığım hariç. Ardından, yürüt

sudo dpkg-reconfigure locales

Sisteminizde yerel ayarları güncellemek için. Artık, /etc/locale.gen öğesinde eklediğiniz / uncommented olduğunuz yerlerin tümü, herhangi bir uyarı olmadan sisteminizde kullanılabilir.

    
verilen cevap msrd0 14.12.2014 12:28
6

Geçerli kabul edilen yanıt, sorun giderme stratejisinde yeterli değildir, çünkü bir insan hatasına sahip olabilirsiniz. Sisteminizi en_US olarak ayarladınız, ancak en_GB etkinliğinde /etc/locale.gen etkin oldum. buradan < Ahududu Pi 3b için bir>. Kullanılan bölgelerinizde tümü , /etc/locale.gen etkin olmalıdır.

en_GB.UTF-8 UTF-8 değerinde yalnızca /etc/locale.gen etkinken etkinleştirildim. Orada diğer komutların çalıştırılmasından dolayı yalnızca en_US.UTF-8 UTF-8 etkinleştirilmiş olmalıydım. Bu yüzden GB ve uncommented ABD'yi yorumladım ve her şey şimdi çalışıyor

[email protected]:~ $ sudo vim /etc/locale.gen

[email protected]:~ $ sudo locale-gen 
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

[email protected]:~ $ sudo a2enmod rewrite && a2enmod headers && a2enmod ssl
Module rewrite already enabled
Module headers already enabled
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Module socache_shmcb already enabled
Module ssl already enabled

Şimdi, bu yerel hatalarını herhangi bir komutla almıyorum.

Sistem: Raspbian Jessie
Donanım: Ahududu Pi 3b

    
verilen cevap Léo Léopold Hertz 준영 22.06.2016 22:25
3

KDE ortamını kullanıyorsanız, setlocale.sh dosyasında ~/.kde/env/ dosyasını kontrol edin:

$ cat ~/.kde/env/setlocale.sh 
export LANG=en_US.UTF-8
export LANGUAGE=en_US:ru:en
    
verilen cevap MaximKostrikin 05.02.2014 09:36
2
  1. "yerel ayar" ayarları geçersiz / eşleşmezken yüklediğiniz uygulama için de sudo dpkg-reconfigure çalıştırmanız gerekebilir.

    Sistem yerel ayarı hatalı bir şekilde kurulurken vim yüklendim. Daha sonra sistem yerel ayarları düzeltildiğinde, vim 'nin utf-8 karakterini tuhaf semboller olarak yanlış gösterdiği, nano ve less ' nin bunları doğru gösterdiği bir durum gördüm. Çalışıyor

    sudo dpkg-reconfigure vim
    
    Sistem ayarları düzeltildikten sonra sorunu düzeltmek için

    görünüyordu.

  2. Ayrıca, daha önce de belirtildiği gibi aynı şeyi fark ettim: Görünen değişiklikleri yapmak için SSH'nin bağlantısını kesmeniz / yeniden bağlamanız gerekebilir.

verilen cevap ajaaskel 18.12.2014 20:02
2

Aşağıdaki metni ~/.profile dosyasına eklemek benim için çalışıyor:

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

Linode'da Ubuntu 16.04 LTS 64-bit sunucusunu kullanıyorum.

    
verilen cevap Jingguo Yao 09.05.2017 05:07
1

Aynı sorun yaşandığında benim için çalıştı (çözüm dman tarafından sağlanan ):

sudo sh -c "echo -e 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/environment"
    
verilen cevap pythonhunter 27.08.2014 07:21
1

oh-my-zsh iş istasyonumda docker ile 'Agnoster' temasını çalıştıran bir sorunla benzer hata iletileriyle karşılaşıyordum. (% Co_de% IMO'dan daha hızlıdır ve docker.sock'u bu kapsayıcıya wsl VM tarafından yönetilen Hyper-V aracılığıyla yükleyebilirim, bu da docker şeyler yapmamı sağlar)

Önerilerin bazılarını yanıtlardan birleştirmek, benim için onu düzeltmeye yardımcı oldu.

Bunu Docker For Windows

öğesine ekledim
RUN apt-get install -y locales
RUN sudo locale-gen "en_US.UTF-8"
RUN echo 'LANG="en_US.UTF-8"' > /etc/profile.d/locale.sh
RUN echo 'LANGUAGE="en_US.UTF-8"' >> /etc/profile.d/locale.sh
RUN echo 'LC_ALL="en_US.UTF-8"' >> /etc/profile.d/locale.sh

Bunu denemek istiyorsanız bir adımdır.

    
verilen cevap sdkks 30.06.2018 16:25

Etiketlerdeki diğer soruları oku