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


595

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

पर्ल: चेतावनी: लोकेल सेट करना विफल रहा।
पर्ल: चेतावनी: कृपया जाँचें कि आपकी लोकेल सेटिंग:
    भाषा = (अप्रसन्न),
    LC_ALL = (परेशान),
    लैंग = "en_US.UTF-8"
आपके सिस्टम पर समर्थित और स्थापित हैं।
पर्ल: चेतावनी: मानक स्थान ("सी") पर वापस गिर रहा है।

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


आपके द्वारा बताए गए त्रुटि संदेश जैसी स्थानीय सेटिंग्स की जाँच करने पर क्या हुआ?
ब्रायन डी फ़ो

3
लोकेल को स्थापित करने के बजाय, आप लोकेल को भी बदल सकते हैं। मेरे उबंटू बॉक्स पर, यह संपादन के द्वारा एक उपयोगकर्ता के लिए किया जाता है~/.pam_environment
Janus Troelsen

मेरे ODROID-C1 पर उबंटू चलने से समस्या वास्तव में ~ / .pam_environment फ़ाइल थी। कुछ चर en_US.UTF-8 के बजाय es_US.UTF-8 थे। धन्यवाद।
f1vefour

मुझे यह Cygwin \ Babun पर मिला। केवल पर्ल के एक पुनर्स्थापना ने इसे तय किया।
लुकास सोरेस

जवाबों:


449

आपके OS के बारे में पता नहीं है en_US.UTF-8

आपने किसी विशिष्ट प्लेटफ़ॉर्म का उल्लेख नहीं किया है, लेकिन मैं आपकी समस्या को पुन: प्रस्तुत कर सकता हूं:

% अनम-एक
OSF1 शिकारी 2 V5.1 2650 अल्फा
% perl -e से बाहर निकलना
पर्ल: चेतावनी: लोकेल सेट करना विफल रहा।
पर्ल: चेतावनी: कृपया जाँचें कि आपकी लोकेल सेटिंग:
    LC_ALL = (परेशान),
    लैंग = "en_US.UTF-8"
    आपके सिस्टम पर समर्थित और स्थापित हैं।
पर्ल: चेतावनी: मानक स्थान ("सी") पर वापस गिर रहा है।

मेरा अनुमान है कि आप नए डेस्कटॉप मशीन से इस पुराने होस्ट से कनेक्ट करने के लिए ssh का उपयोग करते हैं। इसमें /etc/ssh/sshd_configसमाहित होना आम है

AcceptEnv LANG LC_*

जो ग्राहकों को नए सत्रों में उन पर्यावरण चर के मूल्यों को प्रचारित करने की अनुमति देता है।

चेतावनी आपको इस बारे में संकेत देती है कि यदि आपको पूर्ण लोकेल की आवश्यकता नहीं है, तो इसे कैसे पूरा करें:

% env LANG = C perl -e से बाहर निकलें
%

या बैश के साथ:

$ LANG = C perl -e से बाहर निकलना
$ 

स्थाई फिक्स के लिए, किसी एक को चुनें

  1. पुराने होस्ट पर, LANGअपने शेल की आरंभीकरण फ़ाइल में पर्यावरण चर सेट करें ।
  2. क्लाइंट की तरफ अपने वातावरण को संशोधित करें, जैसे , इसके बजाय ssh hunter2, कमांड का उपयोग करें LANG=C ssh hunter2
  3. यदि आपके पास व्यवस्थापक अधिकार हैं, तो स्थानीय फ़ाइल SendEnv LANG LC_*में लाइन को टिप्पणी करके पर्यावरण चर भेजने से ssh को रोकें । ( इस उत्तर के लिए धन्यवाद । ओपनएसएसएच के लिए बग 1285 अधिक देखें।) /etc/ssh/ssh_config

22
धन्यवाद! मेरे सर्वर से git से कनेक्ट होने पर मुझे यह त्रुटि संदेश मिला था। संदेश को हटाने के बाद de_CH.UTF-8 (वहां समर्थित नहीं था लेकिन स्थानीय रूप से उपयोग किया गया) जोड़ने के बाद dpkg-reconfigure localesचला गया है।
साइमन ए। युगस्टर

82
मेरे पास उम्र के लिए यह मुद्दा था, ... sshd_config से "AcceptEv LANG LC_ *" को हटाकर आखिरकार इसे हल कर दिया गया। संकेत के लिए धन्यवाद!

2
@Greg बेकन, क्या ऐसे मामले भी नहीं होंगे जिनमें आप पर्यावरण चर प्रणाली को चौड़ा करना चाहते हैं, उदाहरण के लिए / etc / पर्यावरण फ़ाइल बनाकर? help.ubuntu.com/community/…
fraxture

25
@HermannIngjaldsson, कम से कम उबंटू (12.10) पर, सर्वर को रिबूट करने की आवश्यकता नहीं थी ("एक्सेनेव लैंग LC_ *" को हटाने के बाद)। मैंने अभी ssh config पुनः लोड किया है: service ssh reloadजो एक सेकंड का एक अंश लेता है, और वर्तमान ssh सत्र को समाप्त करने का कारण भी नहीं बनता है।
noamtm

3
ग्राहक प्रणाली में 'निर्यात LC_ALL = C' तो 'स्रोत ~ / .bashrc' में समस्या को हल करें।
इफेक्टिवमैट्रिक्स

476

मैक ओएस लायन (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

6
धन्यवाद, मैंने लंबे समय से इस समस्या का हल खोजा है, और मैंने हमेशा सोचा कि यह मेरे उबंटू सर्वर कॉन्फ़िगरेशन में एक समस्या है, और ऐसा लगता है कि कोई समाधान नहीं था जिसने मदद की (सभी कि dkpg-reconfigure सामान (
Teemu Kurppa)

5
क्योंकि LC_ALLअन्य सभी चर को अधिलेखित करता है, मैं इसके बजाय LANG=de_AT.UTF-8अलग-अलग चर और सेट करना चाहता हूं LC_MESSAGES=en_US.UTF-8। यदि कोई चर सेट नहीं है, तो यह वापस आ जाता है LANG। आप भी कर सकते हैं। unset LC_CTYPEइसे वापस करने के लिए मजबूर करने के लिए LANG
डेविड

4
.Bashrc में उन पंक्तियों को रखने से काम नहीं चला, लेकिन bash_profile ने इसे हल कर दिया! मुझे फाइल बनानी थी।
हरमन इंगजाल्डसन

5
इन पंक्तियों को ~/.bashrcमेरे लिए हल करने में ... फिर उपयोग कर पुनः लोड करना होगा source ~/.bashrc... Thnks <3
Enissay

5
धन्यवाद, यह ~ ~ / .zshrc: LC_CTYPE = en_US.UTF-8 LC_ALL = en_US.UTF-8
Valerio Schiavoni

207

यदि आप डेबूटस्ट्रैप का उपयोग करके रूटफुट बना रहे हैं, तो आपको लोकेशन जेनरेट करने की आवश्यकता होगी। आप इसे चलाकर कर सकते हैं:

# (optional) enable missing locales
sudo nano /etc/locale.gen

# then regenerate
sudo locale-gen

यह टिप https://help.ubuntu.com/community/Xen से आई है


28
यह मेरे लिए असली फिक्स है।
अफरीज़ा एन। दुख

5
लोकेल-जीन कोई तर्क नहीं देता (कम से कम डेबियन स्थिर में)। इसके बजाय, संपादित करें /etc/locale.gen आपके इच्छित स्थानों को अनियंत्रित करने के लिए, फिर sudo locale-gen
Sam Watkins

2
नियतUbuntu Server
पाश्चलिस

5
डेबियन पर आपको $ echo en_US UTF-8 >> /etc/locale.genपहले करने की आवश्यकता हो सकती है ।
akhmed

1
Gentoo पर (कम से कम), locale-genतर्क नहीं लेते। इससे पढ़ता है /etc/locale.gen
पिस्तोस

142

उपयोग:

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

यह डेबियन के लिए काम करता है । मैं नहीं जानता कि क्यों - लेकिन स्थानीय-जीन के परिणाम नहीं थे।

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


13
यह एक मेरे लिए काम किया। मैंने अभी इसे अपनी .bashrcफाइल में डाला है ।
अनिरुद्ध रामनाथन

2
मेरे लिए भी काम किया। मुझे केवल दो सेटिंग्स (LANGUAGE और LC_ALL) को सेट करना पड़ा जो पर्ल वार्निंग में परेशान दिखीं
laurent

2
डेबियन पर, local-genकेवल उन्हीं स्थानों को संसाधित करता है , जो इसमें अपूर्ण हैं /etc/local.gen। आपको echo en_US UTF-8 >> /etc/locale.genपहले करने की आवश्यकता हो सकती है ।
Akhmed

इसने मेरे लिए एलिमेंट्री OS फ्रैय्या (उबंटू आधारित) पर काम किया
Valkirilov

1
LC_ C TYPE हो सकता है?
मिक्स जूल

139

इसका आमतौर पर मतलब है कि आपने अपने लिनक्स बॉक्स पर ठीक से सेट नहीं किए हैं।

डेबियन या उबंटू पर, इसका मतलब है कि आपको करने की आवश्यकता है

$ सूडो लोकेल-जीन
$ sudo dpkg-reconfigure स्थान

मैन लोकेल-जीन भी देखें ।


30
यहाँ मुद्दा ठीक नहीं है
सोमाटिक

6
dpkg- पुन: कॉन्फ़िगर किए गए स्थान - मेरे लिए इश्यू तय किया, डेबियन 7.1
newUserNameHere

4
dpkg- पुन: कॉन्फ़िगर किए गए स्थान स्वयं को समान पर्ल लोकेल त्रुटि संदेशों के साथ विफल कर देते हैं, जिसे पहले स्थान पर ठीक करने की कोशिश की जा रही है !!!!
मैट

10
इसने मेरे लिए Ubuntu 14.04 में काम किया, हालांकि मुझे लापता लोकेल को पहले जोड़ना थाsudo locale-gen es_UY.UTF-8
alf

2
@matteo त्रुटि ठीक करने से पहले केवल पहली बार। फिर से कोशिश करें, और इसे ठीक किया जाना चाहिए।
जीरो 3

91

केवल MacOS और Mac OS X उपयोगकर्ताओं के लिए

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

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

यहाँ छवि विवरण दर्ज करें


3
वाह, इतना आसान है और मेरी समस्याओं को तय! धन्यवाद!
मीकल

3
मैंने अन्य सभी की कोशिश की लेकिन इसने मेरे लिए यह किया। मैं iTerm का उपयोग करता हूं और इसमें समान वर्ण एन्कोडिंग विकल्प है।
माइकल मॉरिसन

2
दुर्भाग्य से यह ZSH (काम करना बंद कर दिया गया) को तोड़ता है
ईसाई

1
यह पूरी तरह से मैक ओएस के लिए चाल है। वैसे, यह मेरे लिए मैकओएस सिएरा में अपग्रेड होने के ठीक बाद शुरू हो रहा है। और इसने मेरे लिए इस मुद्दे को ठीक कर दिया।
पाउलो मालवार

1
इससे मेरी समस्या ठीक हो गई। सिएरा से मैक ओएस एक्स हाई सिएरा को अपडेट करने के बाद मेरे साथ ऐसा होना शुरू हुआ।
लूसियन इरमी

36

यह उबंटू में साधारण फिक्स है। आपको कमांड लाइन से निम्नलिखित कमांड चलाने के लिए, स्क्रैच से लोकल जेनरेट करना होगा:

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

यह स्थान बनाना चाहिए और फिर उन्हें फिर से कॉन्फ़िगर करना चाहिए।


यह मेरे लिए भी ठीक काम pt_BR pt_BR.UTF-8- धन्यवाद।
मार्कोस फ्रीटास

29

/etc/environmentDebian और Ubuntu पर निश्चित रूप से मेरे लिए समस्या को निम्नलिखित जोड़ते हुए (निश्चित रूप से, उस स्थान से मिलान करने के लिए संशोधित करें जिसका आप उपयोग करना चाहते हैं):

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

7
.. मुझे एक चेतावनी मिली है जिसमें कहा गया है कि लोकेल को /etc/environmentसेट किया गया है और उसे बदले में सेट किया जाना चाहिए /etc/default/locale। दोनों अभी के लिए काम करने लगते हैं।
joscarsson

होना चाहिएLC_CTYPE
aexl

25

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

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

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

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

केवल इससे मुझे मदद मिली:

$ 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

इसने मेरे लिए Ubuntu 15.04 पर ठीक काम किया, बहुत बहुत धन्यवाद।
गोके ओबासा

22

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

प्रथम:

sudo apt-get purge locales

फिर:

sudo aptitude install locales

और प्रसिद्ध:

sudo dpkg-reconfigure locales

यह स्थानों की प्रणाली को फिर से बनाता है, फिर स्थानों को फिर से स्थापित करता है और 2.19 से 2.13 तक libc6 को डाउनग्रेड करता है जो कि मुद्दा है। फिर स्थानों को फिर से कॉन्फ़िगर करता है।


4
dpkg-reconfigure localesजरूरत है कि सभी है sudoयदि आप एक सुडोल टाइप के आदमी हैं, या इसे रूट के रूप में करते हैं। फिर अपने शेल वातावरण में आपके अनुसार अपने लोकेल का चयन करें।
mknaf

6
dpkg- पुन: कॉन्फ़िगर किए गए स्थान SHOULD सभी की आवश्यकता होती है। आपके द्वारा 100 बार प्रयास करने के बाद और इंटरनेट के चारों ओर देखने पर यह सब आपके द्वारा देखा गया है और समस्या अभी भी हल नहीं होगी ऊपर की कोशिश करें। फिर वापस आओ और इस upvote। :)
tkjef

1
अंत में इस समस्या का एक गैर-हैक जवाब, निश्चित रूप से स्वीकार किया जाना चाहिए!
php_nub_qq

17

यह एक त्वरित उत्तर है। हम उन स्थानों को सेट करेंगे जो रिबूट के बाद परेशान नहीं होते हैं। पहले बैश फ़ाइल खोलें और उसे संपादित करें:

nano .bashrc

इन पंक्तियों को फ़ाइल में जोड़ें:

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

बैश को पुनः लोड करके परिवर्तन को सक्रिय करें:

source ~/.bashrc

परीक्षण के परिणाम :

locale

केवल एक जो मेरे लिए काम करता है, रास्पियन और ubuntu सर्वर 16.04 :)
लिसो

13

Ubuntu उपयोग के लिए,

#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

मेरे लिए काम किया।


यह मेरे लिए भी काम करता है, फ़ाइल में सभी सामग्री को हटाकर /etc/default/localeऔर केवल
var

12

यदि आप अपने सर्वर लिनक्स में कनेक्ट करने के लिए Mac OS X v10.10 (Yosemite) या इसके बाद के संस्करण का उपयोग करते हैं, तो आप इन चरणों को आज़मा सकते हैं।

  1. अपनी फ़ाइल / etc / ssh / sshd-config मूल रखें

  2. अपने ~ / .bash_profile पर रखें

    export LANG="en_US"
    export LC_ALL=$LANG.UTF-8
  3. Daud

    dpkg-reconfigure locales

    और "en_US.UTF-8" चुनें


10
sudo nano /etc/locale.gen

जिन स्थानों का आप उपयोग करना चाहते हैं, उन्हें रद्द करें (जैसे en_US.UTF-8 UTF-8):

फिर भागो:

sudo /usr/sbin/locale-gen

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


मैं जिस कंपनी के लिए यूएसए में काम करता हूं वह एक git सर्वर को होस्ट करती है जिसमें अंतरराष्ट्रीय ग्राहक होते हैं। GB भीड़ ने शिकायत की कि ssh पर उनके git क्लोनों को स्थानीय अंतर के कारण समस्या होगी। यह सर्वर पर लागू होता है उनके लिए यह समस्या ठीक हो जाती है।
थेरालिस्टबॉट

10

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

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

4
इन चरणों ने मेरे लिए काम किया (उबंटू सर्वर 14.04)। मुख्य बिंदु लॉगआउट और फिर से लॉगिन करना था।
उदारीकरण

9
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory

समाधान:

इसे आज़माएँ ( uk_UA.UTF-8 मेरा वर्तमान स्थान है। अपना स्थान लिखें, उदाहरण के लिए en_US.UTF-8 !)

sudo locale-gen uk_UA.UTF-8

और इस।

sudo dpkg-reconfigure locales

ऐसा करने और पुनः स्थापित करने के बाद, इस समस्या का समाधान करने के लिए धन्यवाद।
madprops

8

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

भाषा सुपरपोर्ट जोड़ें।

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

तरह का संबंध है,


6

करने के लिए सही स्थान जोड़ना ~/.bashrc, ~/.bash_profile, /etc/environmentऔर इस तरह समस्या का समाधान होगा, लेकिन यह अनुशंसित नहीं है, के रूप में यह से सेटिंग पर वरीयता/etc/default/locale है, जो सबसे अच्छे रूप में भ्रामक और स्थानों नहीं सबसे खराब में लगातार लागू किया जा रहा हो सकता है।

इसके बजाय, एक को /etc/default/localeसीधे संपादित करना चाहिए , जो कुछ इस तरह दिख सकता है:

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US

परिवर्तन प्रभावी अगली बार जब आप में लॉग इन करने लगेगा आप सोर्सिंग कर किसी मौजूदा खोल में नए स्थान मिल सकता है। /etc/default/localeइस तरह:

$ . /etc/default/locale

1
इस चरण के बाद सिस्टम को पुनः आरंभ करने की आवश्यकता है
घनश्याम बागुल

आप बस "/etc/locale.gen" में वांछित स्थान में टिप्पणी कर सकते हैं तो चलाएँ:locale-gen
डेव Everitt

5

MacOS हाई सिएरा पर iTerm2.app से DigitalOcean या किसी अन्य क्लाउड होस्टिंग प्रदाता से जुड़ने वाले किसी व्यक्ति के लिए और कुछ आदेशों पर यह त्रुटि प्राप्त करने के लिए:

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

यह मेरे लिए समस्या तय:

यहाँ छवि विवरण दर्ज करें

मुझे पता है कि यह धागा पुराना है, लेकिन शायद किसी को यह उपयोगी लगेगा। मुझे पता है कि यह कितना कष्टप्रद हो सकता है।


Yup iterm2 में यह सेटिंग थी! धन्यवाद!
ब्रायन ओल्सेन

4

स्वीकृत उत्तर के बाद:

लैंग = सी एसएच शिकारी 2।

LC_ALL = सी ssh शिकारी 2

ग्राहक की ओर से मेरे लिए चाल चली।


OSX 10.10.3 पर मेरे लिए काम किया, जबकि केवल "लैंग = सी" पर्याप्त नहीं था। धन्यवाद एलेक्स!
क्रिश्चियन

4

ओश ओमशश के साथ मैंने इसे इसमें जोड़ा .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

एक नया टैब पुनः खोला और SSHed, मेरे लिए काम किया :)


3

जोड़े LC_ALL="en_GB.utf8"को /etc/environmentऔर रिबूट। बस इतना ही।


2

हमेशा की तरह, शैतान विस्तार में है ...

पर मैक ओएस एक्स v10.7.5 (शेर), कुछ ठीक करने के लिए Django , त्रुटि मेरे में ~/.bash_profileमैंने सेट:

export LANG=en_EN.UTF-8
export LC_COLLATE=$LANG
export LC_CTYPE=$LANG
export LC_MESSAGES=$LANG
export LC_MONETARY=$LANG
export LC_NUMERIC=$LANG
export LC_TIME=$LANG
export LC_ALL=$LANG

और लंबे समय तक बदले में मुझे पर्ल का उपयोग करते समय वह चेतावनी मिली।

मेरी गलती! जैसा कि मैंने बहुत बाद में महसूस किया है, मेरा सिस्टम है en_US.UTF-8! मैं इसे बस से बदलकर तय किया

export LANG=en_EN.UTF-8

सेवा

export LANG=en_US.UTF-8


2

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

$ sudo locale-gen

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


यह केवल है इस सवाल का जवाब और मेरे लिए प्राचीन डेबियन (6) पर काम किया। बाकी सभी ओवर-कॉम्प्लेक्स और थोड़ा ऑफ-ट्रैक हैं।
डेव एवरिट

2

मेरे मामले में, debian8.6 के साथ, मुझे सेटिंग्स बदलना पड़ा:

/etc/ssh/ssh_config के लिये #AcceptEnv LANG LC_*

और के sshd_configलिए#SendEnv LANG LC_*

तब ssh सेवा को पुनः आरंभ करें।

आखिरकार, किया

locale-gen en_US.UTF-8 तथा dpkg-reconfigure locales


2

.Bash_profile में लापता स्थान जोड़ें

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

फिर अपने .bash_profile स्रोत

source ~/.bash_profile


1

sshडिफ़ॉल्ट रूप से नियंत्रण रेखा नियंत्रण रेखा चर को अधिलेखित करता है। देखें /etc/ssh/sshd_config:

AcceptEnv LANG LC_*

तो शायद आपको अपने स्थानीय शेल में इन चरों को सेट करना होगा।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.