.net 有没有办法在Windows控制台中编写希伯来语?

.net 有没有办法在Windows控制台中编写希伯来语?,.net,unicode,utf-8,console,hebrew,.net,Unicode,Utf 8,Console,Hebrew,有没有办法在Windows控制台中编写希伯来语 我尝试了以下方法: Console.OutputEncoding = new UTF8Encoding(false); Console.WriteLine("\u05D0\u05D1"); Console.ReadLine(); 但是它没有写“אב”,而是写了一些其他的Unicode字符,这在希伯来语ABC中是不存在的 知道为什么吗?如果我错了,请纠正我,但我认为控制台不支持UTF8。如果您可以在程序之前调用chcp命令,您可以将代码页更改为希伯

有没有办法在Windows控制台中编写希伯来语

我尝试了以下方法:

Console.OutputEncoding = new UTF8Encoding(false);
Console.WriteLine("\u05D0\u05D1");
Console.ReadLine();
但是它没有写“אב”,而是写了一些其他的Unicode字符,这在希伯来语ABC中是不存在的


知道为什么吗?

如果我错了,请纠正我,但我认为控制台不支持UTF8。

如果您可以在程序之前调用
chcp
命令,您可以将代码页更改为希伯来语,然后您的字符将可读。这里有一篇关于国际化和windows控制台的有趣文章:

如果您只是出于简短的测试目的而不是构建整个应用程序,只需使用支持unicode(仅使用heb字符测试)的代码即可

对我有效,也许只是为了消除“假”? 这是在我的机器里工作的,除了o.c.它把字母倒写,除非我用倒写

也许你需要设置注册表?运行->regedit并执行以下操作:


在注册表窗口中右键单击“选择新字符串”。

只需更改输出编码:

Console.OutputEncoding = Encoding.GetEncoding("Windows-1255");

显然它没有(见下文)。控制台已经破坏了对UTF-8的支持。Windows有一个代码页65001,您可以在控制台中通过API或通过键入
chcp 65001
cmd
进行设置。但是,使用此代码页时,Windows
WriteFile()
API中存在一个错误,该代码页返回写入的Unicode字符数,而不是记录在案的写入字节数。如果.net或C#将此结果进行比较,以检查写入是否成功,则写入将不起作用。这个API错误是Perl、PHP和Ruby无法在代码页65001下工作以及Visual C运行时库中出现各种问题的原因。chcp 862和“新快递”
Console.OutputEncoding = Encoding.GetEncoding("Windows-1255");