[Perl] पर्ल से लोकेल सेटिंग चेतावनी कैसे ठीक करें?


Answers

मैक ओएस शेर (10.7) या सिगविन (विंडोज 10) पर इसे हल करने का तरीका यहां दिया गया है:

होस्ट मशीन पर अपने bashrc या bash_profile में निम्न पंक्तियां जोड़ें:

# Setting for the new UTF-8 terminal support in Lion
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

यदि आप zsh का उपयोग कर रहे हैं, तो zshrc संपादित करें:

# Setting for the new UTF-8 terminal support in Lion
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
Question

जब मैं perl चलाता हूं, मुझे चेतावनी मिलती है:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

मैं इसे कैसे ठीक करूं?







मेरे लिए मैं .bashrc फ़ाइल को निर्यात जोड़ने में इस त्रुटि को ठीक करता हूं। प्रारंभिक टिप्पणियों के बाद जोड़ें।

भाषा suport जोड़ें।

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

दयालु Regads,




केवल मैकोज़ और मैक ओएस एक्स उपयोगकर्ताओं के लिए

Git का उपयोग करते समय मुझे वही चेतावनी मिल रही थी

इस चेतावनी को हल करने के लिए Set locale environment variable on startup विकल्प Set locale environment variable on startup अनचेक Set locale environment variable on startup और अपना टर्मिनल पुनरारंभ करें। नीचे स्क्रीन शॉट मेरी टर्मिनल सेटिंग्स का प्रतिनिधित्व करता है।




बहुत खोज के बाद डेबियन पर यह चाल थी।

प्रथम:

sudo apt-get purge locales

फिर:

sudo aptitude install locales

और प्रसिद्ध:

sudo dpkg-reconfigure locales

यह लोकेशंस की प्रणाली को छीनता है, फिर 2.19 से 2.13 तक लोकेशंस को डाउनग्रेड करता है और libc6 को डाउनग्रेड करता है। फिर फिर से स्थानीय लोगों को विन्यस्त करता है।




उपयोग:

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

यह Debian लिए काम करता है। मुझे नहीं पता क्यों - लेकिन लोकेल-जीन का नतीजा नहीं था।

जरूरी! यह एक अस्थायी समाधान है। इसे प्रत्येक सत्र के लिए चलाया जाना है।




Zsh ohmyzsh के साथ मैंने इसे .zshrc में जोड़ा:

 # You may need to manually set your language environment
 LANGUAGE=en_US.UTF-8
 LANG=en_US.UTF-8
 LC_CTYPE=en_US.UTF-8
 LC_ALL=en_US.UTF-8

लाइन export LANG=en_US.UTF-8 को हटाकर

एक नया टैब फिर से खोल दिया और एसएसएचड, मेरे लिए काम किया :)




मेरे लिए, Ubuntu 16.04 (ज़ेनियल ज़ेरस) पर निम्नलिखित कार्य किया:

root@host:~#locale-gen en_GB.UTF-8
root@host:~#localectl set-locale LANG=en_GB.UTF-8,LC_ALL=en_GB.UTF-8

फिर रीबूट करें ...




यदि आप CentOS में chroot चला रहे हैं, तो मैन्युअल रूप से कॉपी /usr/lib/locale कॉपी करने का प्रयास करें।




सभी पिछले जवाब गलत हैं। संदेश स्पष्ट है - लोकेल गायब है। समाधान उपयुक्त लोकेल जोड़ना है। आप /etc/locale.gen फ़ाइल को संपादित करके ऐसा करते हैं, लापता होने के बारे में रिपोर्ट किए गए लोकेल के सामने # साइन-इन हटाएं और फिर आदेश जारी करें:

$ sudo locale-gen

यह वास्तव में /etc/locale.gen में निर्दिष्ट लोकल जेनरेट करेगा और इसलिए संदेश नहीं दिखाया जाएगा।




sudo nano /etc/locale.gen

उन लोकेशंस को असम्बद्ध करें जिन्हें आप उपयोग करना चाहते हैं (उदाहरण के लिए en_US.UTF-8 UTF-8 ):

तो भागो:

sudo /usr/sbin/locale-gen

स्रोत: http://people.debian.org/~schultmc/locales.html




आपको लोकल को उचित रूप से /etc/default/locale , logout, लॉगिन में कॉन्फ़िगर करने की आवश्यकता है, और फिर नियमित आदेश चलाएं

root@host:~# echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale
root@host:~# exit
local-user@local:~$ ssh root@host
root@host:~# locale-gen en_US.UTF-8
root@host:~# dpkg-reconfigure locales



अब मैं इसका उपयोग कर रहा हूं:

$ cat /etc/environment
...
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8

फिर एसएसएच सत्र से लॉग आउट करें और फिर से लॉग इन करें।

पुराना उत्तर:

केवल इसने मेरी मदद की:

$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=

$ sudo su

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

# locale-gen en_US.UTF-8
Generating locales...
  en_US.UTF-8... up-to-date
Generation complete.

# dpkg-reconfigure locales
Generating locales...
  en_AG.UTF-8... done
  en_AU.UTF-8... done
  en_BW.UTF-8... done
  en_CA.UTF-8... done
  en_DK.UTF-8... done
  en_GB.UTF-8... done
  en_HK.UTF-8... done
  en_IE.UTF-8... done
  en_IN.UTF-8... done
  en_NG.UTF-8... done
  en_NZ.UTF-8... done
  en_PH.UTF-8... done
  en_SG.UTF-8... done
  en_US.UTF-8... up-to-date
  en_ZA.UTF-8... done
  en_ZM.UTF-8... done
  en_ZW.UTF-8... done
Generation complete.

# exit

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



यूके कीबोर्ड / लोकेल का उपयोग कर आर्क लिनक्स में मुझे निम्न त्रुटि थी:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.utf8"
  • /etc/profile में मेरे लोकेशंस को निर्यात करने से इसे ठीक नहीं किया गया।

  • हालांकि मैंने इसे /etc/locale.gen संपादित /etc/locale.gen और सक्षम करने के द्वारा ठीक किया
    en_US.utf8 लोकेल कि perl local-gen en_US.utf8 खोजने और चलाने की उम्मीद है।

(मैं pac-manager का उपयोग करता हूं जो एयूआर से perl मॉड्यूल का पूरा समूह उपयोग करता है, इसलिए मेरे विशेष मामले में perl पुनः स्थापित करना एक उपद्रव होगा)




मेरे मामले में, यह आउटपुट था:

LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "ro_RO.UTF-8",
LC_ADDRESS = "ro_RO.UTF-8",
....

समाधान था:

sudo locale-gen ro_RO.UTF-8



Links