2010-02-06 35 views
6

有沒有什麼辦法在Windows控制檯中編寫希伯來語?有沒有什麼辦法在Windows控制檯中編寫希伯來語?

我試過如下:但

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

,而不是 「אב」 寫入其他一些Unicode字符,that're不是在希伯來語ABC。

任何想法爲什麼?

回答

0

糾正我,如果我錯了,但我不認爲控制檯支持UTF8。

+0

控制檯支持UTF8。 – 2010-02-06 21:36:57

+0

顯然它不(見下文)。 – 2010-02-07 12:00:36

+1

控制檯已破壞對UTF-8的支持。 Windows有一個代碼頁65001,您可以通過API在控制檯中設置代碼頁,或者通過鍵入'chcp 65001'從'cmd'中設置代碼頁。但是,當使用此代碼頁時,Windows的WriteFile()API中存在一個錯誤,該代碼頁返回寫入的Unicode字符數,而不是寫入的文檔數量。如果.net或C#比較此結果以檢查寫入是否成功,則不起作用。此API錯誤隱藏在代碼頁65001之下的Perl,PHP和Ruby之後,以及Visual C運行時庫中的各種問題。 – hippietrail 2011-04-18 07:00:42

0

如果你只是想爲短期測試的目的,而不是建立一個完整的應用程序,只需使用Debug.WriteLine,做支持Unicode(只有希伯來字符測試)。

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

適合我,也許只是爲了消除「假」? 這是在我的機器上工作,除了o.c.它寫回字母,除非我使用反向

也許你需要設置註冊表?運行 - >註冊表並執行此操作: 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

我注意到courier new作品 – barlop 2015-06-20 20:13:19

2

簡單地改變OutputEncoding:

Console.OutputEncoding = Encoding.GetEncoding("Windows-1255"); 
相關問題