我想要这段代码:
System.Console.Out.WriteLine ("œil");
在我的测试程序中显示œil
而不是oil
。
我的系统默认将Console.OutputEncoding
设置为Western European (DOS)
(CodePage
设置为850,WindowsCodePage
设置为1252)。字符集包含特殊的OE和oe diphtongs(可以在Wikipedia article on Windows-1252上看到)但不知何故,我怀疑ISO-8859-1集中找不到的字符会被丢弃/替换。
â
,ç
等字符在控制台上正确显示,但扩展0x80 ... 0x9F范围内的任何字符都不是。
如何在控制台上正确显示它们?
答案 0 :(得分:5)
像这样:
Console.OutputEncoding = System.Text.Encoding.UTF8;
System.Console.Out.WriteLine("œil");
不要忘记为控制台窗口选择支持所需字符的字体。这是使用Consolas字体的控制台窗口的屏幕截图。
答案 1 :(得分:2)
你可以像这样设置控制台上的输出编码......
Console.OutputEncoding = Encoding.UTF8;