2010-02-06 15 views
6

क्या विंडोज कंसोल में हिब्रू लिखने का कोई तरीका है?क्या विंडोज कंसोल में हिब्रू लिखने का कोई तरीका है?

Console.OutputEncoding = new UTF8Encoding(false); 
Console.WriteLine("\u05D0\u05D1"); 
Console.ReadLine(); 

लेकिन बजाय "אב" यह कुछ अन्य यूनिकोड वर्ण लिखते हैं, हिब्रू एबीसी में नहीं that're:

मैं निम्नलिखित की कोशिश की।

कोई विचार क्यों?

उत्तर

3

यदि आप अपने प्रोग्राम से पहले chcp कमांड पर कॉल कर सकते हैं, तो आप कोड पेज को हिब्रू में बदल सकते हैं और फिर आपके वर्ण पठनीय होंगे। http://illegalargumentexception.blogspot.com/2009/04/i18n-unicode-at-windows-command-prompt.html

+0

http://ariely.info/Blog/tabid/83/EntryId/139/Windows-console-command-shell-Using- लोकल- भाषाएं- एन-US.aspx chcp 862 और "कूरियर नया" – barlop

0

अगर मैं गलत हूं तो मुझे सही करें लेकिन मुझे नहीं लगता कि कंसोल यूटीएफ 8 का समर्थन करता है।

+0

सांत्वना UTF8 समर्थन करता है। –

+0

जाहिर है यह नहीं है (नीचे देखें)। –

+1

कंसोल ने यूटीएफ -8 के लिए समर्थन तोड़ दिया है। विंडोज़ में एक कोडपेज 65001 है जिसे आप कंसोल में एपीआई या 'सीएमडी' से' chcp 65001' टाइप करके कंसोल में सेट कर सकते हैं। हालांकि इस कोडपृष्ठ का उपयोग करते समय Windows 'WriteFile()' API में एक बग है जो लिखित बाइट्स की दस्तावेज़ संख्या के बजाय लिखित यूनिकोड वर्णों की संख्या देता है। यदि .NET या C# इस परिणाम की तुलना करने के लिए तुलना करता है कि कोई लेखन सफल हुआ है तो यह काम नहीं करेगा। यह एपीआई बग पर्ल, पीएचपी, और रूबी के पीछे है जो कोडपेज 65001 के तहत काम नहीं कर रहा है और विजुअल सी रनटाइम लाइब्रेरी में विभिन्न समस्याएं हैं। – hippietrail

0

मामले में आप सिर्फ लघु परीक्षण प्रयोजनों के लिए यह चाहते हैं और एक पूरे आवेदन निर्माण करने के लिए नहीं है, बस Debug.WriteLine कि समर्थन यूनिकोड (इब्रा वर्ण केवल के साथ परीक्षण किया है) का उपयोग: वहाँ के बारे में अंतर्राष्ट्रीयकरण और खिड़कियों सांत्वना यहाँ एक दिलचस्प लेख है।

1
 Console.OutputEncoding = new UTF8Encoding(); 
     Console.WriteLine("\u05D0\u05D1"); 
     Console.WriteLine("אריאל"); 
     Console.WriteLine(new string("אריאל".Reverse().ToArray())); 

मेरे लिए काम करता है, शायद "झूठी" को हटाने के बारे में है? यह ओएससी को छोड़कर, मेरी मशीन में काम कर रहा है। यह अक्षरों को पीछे लिखता है, जब तक कि मैं रिवर्स

का उपयोग कर सकता हूं, तो आपको रजिस्ट्री सेट करने की आवश्यकता हो सकती है? रन -> regedit और यह करें: http://blogs.microsoft.co.il/technet/2013/06/11/%D7%90%D7%99%D7%9A-%D7%90%D7%A4%D7%A9%D7%A8-%D7%9C%D7%A8%D7%90%D7%95%D7%AA-%D7%A2%D7%91%D7%A8%D7%99%D7%AA-%D7%91-powershell-console/

रजिस्ट्री विंडो में दाएं क्लिक करें नई स्ट्रिंग चुनें।

+1

मुझे कूरियर न्यू नोटिस काम करता है – barlop

2

सीधे शब्दों में OutputEncoding बदलने के लिए:

Console.OutputEncoding = Encoding.GetEncoding("Windows-1255"); 
संबंधित मुद्दे