विंडोज़ 10 बैश टर्मिनल में UTF8 वर्ण


36

मैंने विंडोज़ 10 पर नया बैश शेल स्थापित किया है। मैं इसे ZSH के साथ मिलकर उपयोग कर रहा हूं। हालाँकि, utf8 वर्णों में से कोई भी काम नहीं करता है, वे वर्ग ब्लॉक के रूप में दिखाई देते हैं। मैं डिफ़ॉल्ट रूप में शेल में utf8 वर्ण एन्कोडिंग को कैसे सक्षम करूं? क्या यह संभव है?


5
यदि प्रत्येक वर्ण एक वर्ग ब्लॉक के रूप में प्रकट होता है , तो UTF-8 पहले से ही काम करता है; यह फ़ॉन्ट है जिसमें यूनिकोड समर्थन का अभाव है।
ग्रैविटी

chcp 65001यूटीएफ -8 में कोडपेज बदलने के लिए और फ़ॉन्ट को
कॉनसोल में

मैंने SimSun-Ext Bफ़ॉन्ट पर स्विच किया और सभी वर्ण सही तरीके से प्रदर्शित हो रहे हैं।
रयान फोले

5
@ ग्रेविटी मैं उबंटू मोनो का उपयोग कर रहा था और अब कंसोल में बदल गया। एक खाली वर्ग बॉक्स के बजाय मुझे अंदर प्रश्न चिह्न के साथ एक वर्ग बॉक्स मिलता है। मैंने भी chcp सुझाव की कोशिश की, लेकिन जब मैंने संपत्तियों की जाँच की तो यह पहले से ही UTF-8 एन्कोडिंग पर सेट है।
Ortix92

2
मैं बताना चाहूंगा कि यह मुद्दा अभी भी हल नहीं हुआ है और मैं अभी भी ZSH
Ortix92

जवाबों:


12

बैश विंडो के शीर्ष पर शीर्षक पट्टी पर राइट क्लिक करें, प्रविष्टि गुण चुनें। उद्घाटन विंडो में एक टैब है जहां आप फ़ॉन्ट बदल सकते हैं। मैंने फ़ॉन्ट को "स्रोत कोड प्रो" और आकार 14 में बदल दिया।

अच्छा लग रहा है और सभी utf-8 अक्षर काम कर रहे हैं।


यही सच्चा उत्तर है। आप जो कुछ भी पसंद करते हैं उसे UTF8 का समर्थन करते हुए फ़ॉन्ट चुन सकते हैं। मैंने मेन्लो को स्थापित किया और फिर इसे बैश विकल्पों में बदलना भूल गया, ईमानदारी से इसके बारे में सोचा भी नहीं था।
स्टालकलेक्स

कृपया ध्यान दें कि मैंने विंडोज़ में सभी डिफ़ॉल्ट विकल्प (सोर्स कोड प्रो सहित) और चेकमार्क चरित्र (✔) की कोशिश की है, केवल मेरे लिए @ user3599934 द्वारा सुझाए गए "DejaVu Sans Mono" फ़ॉन्ट के साथ काम किया है!
सेवेरॉन

10

डॉक्टरज के जवाब में जोड़ने के लिए, कुछ फोंट हैं जो डिफ़ॉल्ट रूप से इंस्टॉल किए जाते हैं जिन्हें आप उपयोग कर सकते हैं (विंडोज 10 बैश शेल पर)।

परीक्षण की गई भाषाएं: बल्गेरियाई, यूक्रेनी, चीनी सरलीकृत, चीनी पारंपरिक, डेनिश, फ्रेंच, जर्मन, इतालवी, जापानी, कजाख, कोरियाई, मैसेडोनियन, मंगोलियाई, नॉर्वेजियन, पोलिश, पुर्तगाली, रूसी, सर्बियाई, स्पेनिश, स्वीडिश।

निम्नलिखित डिफ़ॉल्ट फ़ॉन्ट सभी देखे गए वर्ण प्रदर्शित करते हैं:

  • एमएस गोथिक
  • NSimSun
    • कज़ाख के सभी प्रदर्शित करने के लिए प्रकट नहीं होता है।
  • SimSun-ExtB (रेखापुंज फ़ॉन्ट) - मेरी सिफारिश

MS गोथिक और NSimSun दोनों

  • गैर-लैटिन गैर-सीजेके (चीनी, जापानी, कोरियाई) भाषाएं (मैसेडोनियन, कजाख, बल्गेरियाई)।
  • उच्चारण लैटिन अक्षरों (á, é) पर एक विषम ऊर्ध्वाधर ऑफसेट है।
  • कम से कम एक मैसेडोनियन चरित्र प्रदर्शित नहीं किया।

समसून-एक्सटब (रेखापुंज फ़ॉन्ट):

  • एक चेतावनी संदेश है जिसमें कहा गया है कि रैस्टर फोंट अच्छा प्रदर्शन नहीं कर सकते हैं।
  • अधिकांश वर्ण अंधेरे में प्रदर्शित होते हैं (कम स्क्रीन चमक के साथ एक समस्या हो सकती है)।
  • गैर- ASCII वर्ण उज्ज्वल हैं, ASCII वर्ण (संभव समाधान, बोल्ड विकल्प का उपयोग करें) की तुलना में।
  • सभी भाषाओं के वर्ण एक साथ बंद (शब्दों के बीच अंतर देखना आसान)।
  • गैर-लैटिन गैर-सीजेके भाषाओं के लिए अधिक विश्वसनीय लगता है।

इनमें से किसी भी फॉन्ट के साथ, कमांड प्रॉम्प्ट और पावरशेल, दोनों ही तरह की अजीब चीजें होती हैं जब आप गैर-एएससीआईआई अक्षर पर क्लिक करते हैं, हालांकि जब आप टेक्स्ट को हाइलाइट करते हैं तो यह सामान्य हो जाता है।

एक फ़ॉन्ट स्थापित करने के लिए: ध्यान दें कि आपको अपने द्वारा उपयोग किए जा रहे विंडोज शेल के लिए फ़ॉन्ट को बदलने की आवश्यकता है, जैसे कमांड प्रॉम्प्ट या पावरशेल, न कि लिनक्स तरीके से बैश। यह लिंक बताता है कि कमांड प्रॉम्प्ट (मोनोस्पेस फॉन्ट, और कमांड प्रॉम्प्ट के लिए एक फॉन्ट को कैसे इंस्टॉल और सिलेक्ट किया जाए) पर फोंट का उपयोग किया जा सकता है: कमांड प्रॉम्प्ट में फोंट जोड़ें

  • रजिस्ट्री संपादक को लाओ ("regedit चलाएं")
  • फ़ोल्डर का पता लगाएं HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Console \ TrueVypebont
  • राइट क्लिक (या संपादित करें) -> नया -> स्ट्रिंग मूल्य
  • पिछले एक की तुलना में एक अधिक 0 वाले फ़ॉन्ट को नाम दें (जैसे कि "000")।
  • प्रवेश पर राइट क्लिक करें और "संशोधित करें ..." चुनें
  • फ़ॉन्ट या OTF फ़ाइल (बिना .otf) के नाम दर्ज करें।

विंडोज पर कमांड लाइन के माध्यम से फोंट स्थापित करने की जानकारी के लिए, यह प्रश्न और उत्तर देखें।

  • मैंने "सोर्स कोड प्रो" इंस्टॉल करने की कोशिश की, लेकिन यह मेरे लिए फोंट में दिखाई नहीं दिया।
  • मैंने DejaVu Sans Mono स्थापित किया और यह अधिकांश भाषाओं के लिए काम करता है लेकिन CJK के लिए बिल्कुल भी काम नहीं करता है।
  • मैंने Google का Noto monospace फ़ॉन्ट स्थापित किया, और यह काम किया, लेकिन CJK के लिए नहीं। इसके अलावा, वे विशेष रूप से कहते हैं कि उनके पास CJK के लिए मोनोस्पेस समर्थन नहीं है।
  • मैंने Google का Inconsolata स्थापित किया है, और यह कोशिश के लायक नहीं था।
  • मैंने GNU FreeFont (FreeMono) स्थापित किया, और इसने काम किया, लेकिन CJK के लिए नहीं।
  • मैंने हार मान ली और सिमंस-एक्सटब में वापस चला गया।

(नोट: लिंक पोस्ट करने के लिए मेरे पास अभी तक पर्याप्त प्रतिष्ठा नहीं है)।


6

आप DejaVu Sans मोनो की कोशिश कर सकते हैं - यह मेरे लिए काम करता है।


11
हालांकि यह ओपी की समस्या का समाधान हो सकता है, यह एक उच्च गुणवत्ता वाले उत्तर की तुलना में अधिक संकेत है। इस पर निर्देश देकर सुधार किया जा सकता है: 1) विंडोज 10 बैश टर्मिनल के लिए फ़ॉन्ट कैसे बदलें; 2) उक्त फ़ॉन्ट को कैसे स्थापित करें (जब तक कि यह हर विंडोज 10 में डिफ़ॉल्ट रूप से नहीं है - मैं लिनक्स पर हूं, मुझे नहीं पता)।
कामिल मैकियोरोस्की

1
मैंने पहले उबंटू मोनो का इस्तेमाल किया और इसके साथ समस्या थी। DejaVu Sans मोनो ने इस मुद्दे को हल किया।
smonff

0

यह वास्तव में एक जवाब की तुलना में अधिक टिप्पणी है, लेकिन चूंकि एसई मुझे टिप्पणी करने की अनुमति नहीं देता है ...

आपने पर्याप्त जानकारी नहीं दी है। यूनिकोड एक लाख से अधिक संभावित वर्ण प्रदान करता है, जिनमें से 100,000 से अधिक को परिभाषित किया गया है। (शेष वे हैं, जब हम extraterrestrials से संपर्क करते हैं, या Earthlings के लेखन सिस्टम के लिए अधिक संभावना है जो अभी तक एन्कोड नहीं किया गया है।) ये लगभग 150 लिपियों में विभाजित हैं: लैटिन, सिरिलिक, अरबी, चीनी ... कोई फ़ॉन्ट नहीं जा रहा है उन सभी पात्रों के लिए ग्लिफ़ (वर्णों के चित्र) की आपूर्ति करना। (एक या दो हैं जो एक बॉक्स को कोड बिंदु के साथ आपूर्ति करते हैं, लेकिन यह वह नहीं है जो आप चाहते हैं।)

जैसा कि ग्रेविटी ने दो साल पहले कहा था, अगर आपको एक ऐसा बॉक्स मिल रहा है, जहां आप एकल चरित्र की उम्मीद करते हैं, तो आपका आवेदन पहले से ही यूनिकोड प्रदर्शित कर रहा है (संभवतः यूटीएफ -8 यूनिकोड का एन्कोडिंग)। आपके पास जो कमी है वह एक फ़ॉन्ट है जो आप जो भी स्क्रिप्ट दिखाना चाहते हैं उसके लिए ग्लिफ़ की आपूर्ति करता है। यदि आप रूसी प्रदर्शित कर रहे हैं, तो आप सिरिलिक पात्रों के साथ एक फ़ॉन्ट चाहते हैं; यदि आप चीनी प्रदर्शित करना चाहते हैं, तो आपको उन वर्णों के साथ एक फ़ॉन्ट चाहिए। (इस तरह के अधिकांश फोंट लैटिन वर्णों को प्रदर्शित करेंगे - जिस तरह से हम अंग्रेजी के लिए उपयोग करते हैं - लेकिन जरूरी नहीं कि सुंदर हो।)

तो आपके लिए मेरा सवाल यह है: आप किस स्क्रिप्ट को प्रदर्शित करने की कोशिश कर रहे हैं? जब तक हम यह नहीं जानते कि, सभी उत्तर अनुमान लगाए जाएंगे।

BTW, कुछ स्क्रिप्ट हैं जो काफी जटिल हैं, और केवल कुछ प्रोग्राम उन्हें सही ढंग से प्रदर्शित करेंगे, भले ही आपके पास सही फ़ॉन्ट हो। इनमें बर्मी, कुछ इंडिक स्क्रिप्ट (उदाहरण के लिए देवनागरी), और अरबी (जिसे राइट-टू-लेफ्ट लिखा गया है, और इसमें ऐसे अक्षर हैं जो आसन्न अक्षरों के आधार पर अलग-अलग प्रदर्शित किए जाने चाहिए)।

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