How do I write special characters (0x80..0x9F) to the Windows console?

青春壹個敷衍的年華 提交于 2019-12-22 06:37:12

问题


I would like to have this code:

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

display œil instead of oil as it does in my test program.

The Console.OutputEncoding is set by default to Western European (DOS) (CodePage set to 850 and WindowsCodePage set to 1252) on my system. The character set contains the special OE and oe diphtongs (as can be seen on the Wikipedia article on Windows-1252) but somehow, I suspect that the characters not found in the ISO-8859-1 set get discarded/replaced.

Characters such as â, ç, etc. get properly displayed on the console, but any character in the extended 0x80 ... 0x9F range are not.

How can I properly display them on the console?


回答1:


Like this:

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

Don't forget to select a font for your console window that supports the characters you need. This is a screen shot of my console window using the Consolas font.




回答2:


You could set the output encoding on the console like this...

Console.OutputEncoding = Encoding.UTF8;


来源:https://stackoverflow.com/questions/7929763/how-do-i-write-special-characters-0x80-0x9f-to-the-windows-console

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!