सवाल मैं अपने लोकेल मुद्दे को कैसे ठीक करूं?


मुझे हर बार यह संदेश मिल रहा है जब मैं सेवा शुरू करने या रोकने की तरह कुछ करता हूं।

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   

मैं इस त्रुटि को कैसे ठीक करूं?


463
2017-07-11 14:08


मूल


सम्बंधित: लोकेल कैसे सेट करें? - Lucio
के संभावित डुप्लिकेट लोकेल चर का रिमोट खोल में कोई प्रभाव नहीं पड़ता है (perl: चेतावनी: लोकेल सेट करना विफल रहा।) - Denilson Sá Maia
सभी उपयोगकर्ताओं के लिए आसान और स्थायी फिक्स: askubuntu.com/questions/881742/... - Galvani


जवाब:


पहला रन locale वर्तमान उपयोगकर्ता खाते के लिए वर्तमान में परिभाषित स्थानीय लोगों को सूचीबद्ध करने के लिए:

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

फिर लापता लोकेल उत्पन्न करें और नोटिस लेने के लिए स्थानीय लोगों को पुन: कॉन्फ़िगर करें:

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

अब आप अब कोई त्रुटि नहीं देखेंगे!


471
2017-12-10 12:45



मेरे लिए काम नहीं किया - Umair
इसने कई प्रणालियों पर मेरे लिए काम किया है। क्या नए स्थापित सिस्टम पर इस मुद्दे से बचने का कोई तरीका है? - Brylie Christopher Oxley
@UmairAyub आपके पास एक से अधिक अज्ञात लोकेल हो सकता है, इसे आजमाएं: y में $ (locale | cut -d '=' -f 2 | sort | uniq); लोकेल-जेन $ y करें; किया हुआ यह आपके पास प्रत्येक परिभाषा के लिए एक लोकेल उत्पन्न करेगा - Ivan Buttinoni
में लोकेल locale-gen ठीक से काम करने के लिए कमांड को डबल कोट्स में होना चाहिए: $ sudo locale-gen "en_US.UTF-8" - Sheharyar
@Umair इस समस्या में मानव त्रुटि का एक उच्च जोखिम है। आपका सिस्टम कॉन्फ़िगर किया गया है en_GB डिफ़ॉल्ट रूप से, लेकिन आप इसे सेट अप करते हैं en_US। आपको मैन्युअल रूप से टिप्पणी करनी है en_GB और असुविधा en_US में /etc/locale.gen। मेरा जवाब देखें askubuntu.com/a/790373/25388 हार्डवेयर रास्पबेरी पाई 3 बी और सिस्टम रास्पियन जेसी में। - Léo Léopold Hertz 준영


उपरोक्त कुछ भी मेरे मामले में काम नहीं किया (उबंटू सर्वर 12.04 एलटीएस)। अंत में क्या मदद की फाइल में डाल रहा था /etc/environment:

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

किसी कारण से यह गायब था। लोकेल और अन्य कमांड के लिए आउटपुट दिखाई दिए जैसे वेरिएबल्स को सही ढंग से परिभाषित किया गया था। दूसरे शब्दों में यह स्वीकार न करें कि सभी मूलभूत सामान घोषित किए जाते हैं जहां इसे घोषित किया जाना चाहिए।


340
2017-12-16 04:11



हां, शायद इस संस्करण को छोड़कर कोई भी काम नहीं करता, शायद अद्यतन संस्करण के कारण। लेकिन मैं इसे अंदर रखना पसंद करता हूं /etc/default/locale। - Naveed
अपडेट किया गया /etc/default/locale और कोई और चेतावनी नहीं। धन्यवाद - ohho
हाँ, दूसरों ने मेरे लिए काम नहीं किया। यह एक किया था। यहां एक-लाइनर है जिसका उपयोग मैंने अप्रत्याशित अद्यतन के लिए किया था। sudo sh -c "echo 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/environment" - dman
@ user163207 आपका समाधान गलत है क्योंकि यह संलग्न करता है (ओवरराइटिंग के बजाए), यह अनुशंसित फ़ाइल नहीं है, और echo बैकस्लैश एस्केप सक्षम की व्याख्या के साथ चलाने की जरूरत है। यह आपके जैसा ही है लेकिन उपर्युक्त तय के साथ: sh -c "echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale" - glarrain
LOGPUT और पुनः लॉग इन करने के लिए मत भूलना! - S.M.Mousavi


जारी करने के बाद उन्हें गायब होना चाहिए:

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

dpkg-reconfigure वे पहले से ही संकुल के बाद संकुल को पुन: कॉन्फ़िगर करते हैं        स्थापित। इसे पुन: कॉन्फ़िगर करने के लिए पैकेज या पैकेज के नाम पास करें।        यह विन्यास प्रश्न पूछेगा, जैसे पैकेज था        पहले स्थापित किया गया।


140
2017-07-11 14:19



मुझे खुशी है कि एक साल पहले मेरी परेशानियों ने आपको यह तय करने में मदद की;) - Rinzwind
क्या यह लोकेल डिफ़ॉल्ट रूप से उत्पन्न नहीं होना चाहिए? मेरा मतलब en, en_AU, en_CA, en_GB डिफ़ॉल्ट रूप से मौजूद हैं लेकिन नहीं en_US? - Daniel Serodio
@Rinzwind धन्यवाद आपके प्रयास के लिए बहुत कुछ! मैं क्षमाप्रार्थी हूं; मुझे अपने प्रश्न को बेहतर तरीके से कहना चाहिए था। मेरा कहना है कि: नए लोकेशन बनाने के बाद स्थानीय पैकेज को फिर से कॉन्फ़िगर करना क्यों आवश्यक है? मुझे लगता है कि स्थानीय लोगों की तरह भी काम करते हैं dpkg-reconfigure। - Victor
एक डॉकर कंटेनर में उबंटू 14.04 का उपयोग करना, इसलिए कुछ भी सेट नहीं किया जा रहा था। Django के makemessage इसकी जरूरत है यह पूरी तरह से काम किया! धन्यवाद। - Justin
मुझे विश्वास है sudo लापता है। शायद यह होना चाहिए: sudo dpkg-reconfigure locales। यह Ubunty 14.10 डेस्कटॉप 64-बिट के ताजा इंस्टॉल के बाद मेरे लिए काम किया। - bgoodr


बस अपने लिए निम्नलिखित जोड़ें .bashrc फ़ाइल (मान लीजिए कि आप बैश का उपयोग कर रहे हैं)

export LC_ALL="en_US.UTF-8"

108
2017-11-08 09:42



यह मीठा फिक्स मेरे लिए अमेज़ॅन-ईसी 2 छवि पर काम करता था (उनका डिफ़ॉल्ट आरएचईएल एएमआई चला रहा था) बहुत बहुत धन्यवाद! :) - gideon
यह मेरे लिए मेरे डिजिटल सोसाइटी उबंटू 12.04 छवि के साथ काम किया। - Inan Berbatov
यह मेरी समस्या तय है। मुझे एक प्रश्न पूछना है: कैसे एलसी_ओएल लोकेल-जनरल कमांड द्वारा सेट नहीं किया गया था क्योंकि अन्य उत्तरों ने इस से ऊपर कहा था? - alexserver
अजीब, उपरोक्त सभी समाधान मेरे लिए काम नहीं करते थे लेकिन यह एक किया था! निर्यात के बाद LC_ALL मैं अंत में उपयोग कर सकता था sudo dpkg-reconfigure locales। - sobi3ch
अंत में बहुत सारी चाल चलने के बाद, यह मेरे लिए कुबंटू 14.04.3 लीटर पर काम कर रहा है। धन्यवाद! - Jonas


यदि आप दूरस्थ रूप से कनेक्ट कर रहे हैं, तो यह एक आम समस्या है, इसलिए समाधान आपके लोकेल को अग्रेषित नहीं करना है। संपादित करें /etc/ssh/ssh_config और टिप्पणी करें SendEnv LANG LC_* लाइन।


88
2017-10-01 00:45



मैं अन्य उत्तरों की कोशिश कर रहा था, लेकिन भूल गया कि जब तक मैंने आपका जवाब नहीं देखा तब तक मैं दूरस्थ रूप से कनेक्ट कर रहा था। एसएसएच सर्वर और क्लाइंट पर विभिन्न लोकल समस्या पैदा कर रहे थे। - Hieu
ओएसएक्स (उबंटू से कनेक्ट) पर यह है /etc/ssh_config - Michiel de Mare
ऐसा करने के लिए एक लाइनर: sed -e '/SendEnv/ s/^#*/#/' -i /etc/ssh/ssh_config (सर्वर प्रावधान के लिए उपयोगी) - Albin
मैं लोकल मशीन पर LC_ALL सेट नहीं कर सका लेकिन यह रिमोट सर्वर के साथ मेरी समस्या को ठीक कर दिया, धन्यवाद। - Alexander Shlenchack
शायद यह ध्यान देने योग्य है कि आपको स्थानीय मशीन पर फ़ाइल को रिमोट नहीं करना है। - Clashsoft


इसके लिए एक आदेश है:

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

यह अद्यतन करता है /etc/default/locale प्रदान किए गए मूल्यों के साथ।


63
2017-08-01 11:51



यह कानूनी है! अपने खोल को साइन आउट / पुनः लोड करना न भूलें, अन्यथा आप परिवर्तन नहीं देखेंगे। स्थानीय लोगों को उत्पन्न करने और पुन: कॉन्फ़िगर करने के लिए अनुमोदित उत्तर को देखना न भूलें। - Erik Zivkovic
चल रहा है locale अभी भी कोई utf मान नहीं दिखाता है। - Cerin
@ सेरिन: माईबे, ​​एक कॉल करने के लिए locale-gen लापता है। इससे पहले, एक करना है apt-get install locales। - koppor
यह उबंटू 16.04 पर रूट खोल के लिए LANG को नहीं बदलेगा, क्योंकि इसे /root/.profile में खारिज कर दिया गया है। - Willem


12.10 पर मेरे लिए क्या काम किया यह था:

apt-get install language-pack-en-base  

यह बाद में था dpkg-reconfigure locales कोई परिणाम नहीं बनाया।


30
2018-04-28 02:01



यह सबसे अच्छा जवाब है। ऐसा नहीं है कि मेरे लोकल गलत तरीके से सेटअप किए गए थे, लेकिन वे वास्तव में मौजूद नहीं थे। मुझे लगता है कि यह ओपी की समस्या के समान है ("ऐसी कोई फ़ाइल या निर्देशिका नहीं है" यदि आपका लोकेल बहुत स्पष्ट है है ठीक करें!)। - Breakthrough
मुझे कभी भी ओपीएस मुद्दे मिल रहा था जब मैं उबंटू 12.04 पर एपीटी-गेट का उपयोग कर रहा था, यह किसी भी फाइल को संपादित किए बिना पूरी तरह हल कर गया। - Deepend
"भाषा-पैक-एन-बेस पहले से ही नवीनतम संस्करण है।" - karlingen
लॉगआउट और लॉगिन मदद कर सकता है - S.M.Mousavi
एक उबंटू में मेरे लिए काम किया chroot डेबियन के तहत। धन्यवाद :) - Wyatt8740


बाहर निकलने और फिर से लॉग इन करके अपने एसएसएच सत्र (या अपने एक्स 11) से बाहर निकलना न भूलें। इन सभी सुझावों ने मेरे लिए काम नहीं किया जब तक कि मैं वापस लॉग इन नहीं करता ....


16
2017-09-26 06:51



इस टिप्पणी को और अधिक उत्थान प्राप्त करना चाहिए या कम से कम इस तथ्य को हर जवाब में हाइलाइट करने की आवश्यकता है। - ni8mr


उबंटू 12.10 के लिए उपरोक्त में से कोई भी रत्ज़ के समाधान को छोड़कर काम नहीं करता है। मैं इसे अपने /etc/bash.bashrc फ़ाइल में जोड़ने की अनुशंसा करता हूं:

export LC_ALL="en_ZA.UTF-8"
export LC_CTYPE="en_ZA.UTF-8"

11
2018-03-27 03:19



उपरोक्त सभी समाधानों में से। यह केवल यही है जो मेरे लिए काम करता है। - JohnnyQ


मैं एक अजीब स्थिति में फंस गया था जहां मेरी स्थानीय मशीन पर सेट है es और इसलिए रिमोट मशीन (के माध्यम से vagrant) एक असंगत राज्य में प्रावधान किया गया था। इसलिए, मुझे मैनुअल का उपयोग करना पड़ा export= केवल एक सफल की सुविधा के लिए dpkg-reconfigure। तब प्रणाली ठीक है।

export LC_ALL="en_US.UTF-8"
sudo dpkg-reconfigure locales

11
2018-03-22 18:02



श्रेष्ठ! के चलते dpkg-recofigure मोजीबेक प्रदर्शित करता है। - Orient