5

我想要这个代码:

System.Console.Out.WriteLine ("œil");

显示œil而不是oil像我的测试程序中那样。

在我的系统上Console.OutputEncoding默认设置为Western European (DOS)CodePage设置为 850 并WindowsCodePage设置为 1252)。字符集包含特殊的 OE 和 oe diphtongs(可以在 Windows-1252 上的 Wikipedia 文章中看到),但不知何故,我怀疑ISO-8859-1集中未找到的字符被丢弃/替换。

诸如 , 等字符âç在控制台上正确显示,但扩展 0x80 ... 0x9F 范围内的任何字符都不会。

如何在控制台上正确显示它们?

4

2 回答 2

6

像这样:

Console.OutputEncoding = System.Text.Encoding.UTF8;
System.Console.Out.WriteLine("œil");

不要忘记为您的控制台窗口选择一种支持您需要的字符的字体。这是使用 Consolas 字体的控制台窗口的屏幕截图。

在此处输入图像描述

于 2011-10-28T13:21:40.433 回答
2

您可以像这样在控制台上设置输出编码...

Console.OutputEncoding = Encoding.UTF8;
于 2011-10-28T13:27:56.527 回答