ssh और चरित्र एन्कोडिंग


17

जब मैं sshअपने वीपीएस में होता हूं, तो मेरे पास irssiस्क्रीन होती है। जब कोई यूनिकोड वर्ण भेजता है (जैसे © या €), irssiतब कचरा दिखाता है जब मैं इसे sshसत्र में स्क्रीन के माध्यम से उपयोग करता हूं । अगर मैं irssiअपने स्थानीय कंप्यूटर पर चलने वाले irssi से irssi के प्रॉक्सी मॉड्यूल का उपयोग करके उससे कनेक्ट करता हूं, तो यह सही तरीके से दिखाई देता है।

इसी तरह, अगर मैं अपने वीपीएस (एक स्क्रीन के बाहर) पर घी चलाता हूं और उन पात्रों में से एक में प्रवेश करता हूं, तो यह क्रैश हो जाता है।

तो, जाहिर है, मेरे वीपीएस से मेरे कनेक्शन के साथ किसी तरह का एक चरित्र एन्कोडिंग मुद्दा है, या तो ssh या सिस्टम सेटअप में।

मैं कैसे पता लगा सकता हूं कि यह क्या कारण है, और इसे हल करें?

विवरण:

ग्राहक प्रणाली

  • आर्क लिनक्स x64
  • UTF-8 एन्कोडिंग

वीपीएस प्रणाली

  • उबंटू सर्वर 10.04
  • अज्ञात एन्कोडिंग का उपयोग किया गया। मुझे यह कैसे पता चलेगा? (मुझे अभी आर्क के लिए अपने /etc/rc.conf में देखना है)

जवाबों:


19

localeकमांड चलाने से आपको अपने लोकेल सेटिंग्स के बारे में जानकारी मिलेगी; चरित्र एन्कोडिंग LC_CTYPEसेटिंग द्वारा दिया गया है ।

उबंटू के तहत, डिफ़ॉल्ट लोकेल सेटिंग दी गई हैं /etc/default/locale। आप LC_CTYPEअपने ~/.profileVPS, उदाहरण के लिए सेट करके वर्ण एन्कोडिंग को बदल सकते हैं

export LC_CTYPE=en_US.UTF-8

आपको यह सुनिश्चित करना होगा कि en_US.UTF-8स्थान उपलब्ध है। उबंटू केवल अनुरोधित स्थानों के लिए स्थानीय डेटा उत्पन्न करता है। यदि आपके पास पैकेज language-pack-en-baseस्थापित है तो सभी अंग्रेजी स्थान उपलब्ध होने चाहिए । आप मैन्युअल रूप से उनकी पीढ़ी के साथ अनुरोध कर सकते हैं

sudo locale-gen en

आप यह /var/lib/locales/supported.d/localसुनिश्चित करने के लिए प्रविष्टियाँ भी जोड़ सकते हैं कि कोई विशेष स्थान स्थापित है (उदाहरण के लिए, पंक्ति जोड़ें en_US.UTF-8 UTF-8)।


4

वास्तव में LC_CTYPE में दिया गया मान एक स्थानीय नाम है । यह प्रथागत है, लेकिन इसकी आवश्यकता नहीं है, कि नाम में चारसेट एन्कोडिंग हो।

लेकिन अगर आप जानना चाहते हैं, निश्चित रूप से, चारसेट, तो कमांड है locale -k charmap

~$ LC_CTYPE=C locale -k charmap
charmap="ANSI_X3.4-1968"
~$ LC_CTYPE=fr_BE locale -k charmap
charmap="ISO-8859-1"

(ध्यान दें कि LC_TYPE मूल्यों पर चार्ट कैसे दिखाई नहीं देता है)।

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