Как мне написать специальные символы (0x80..0x9F) в консоли Windows? - PullRequest
5 голосов
/ 28 октября 2011

Я хотел бы иметь этот код:

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

отображать œil вместо oil, как это делается в моей тестовой программе.

Console.OutputEncoding устанавливаетсяпо умолчанию Western European (DOS) (CodePage установлено на 850 и WindowsCodePage установлено на 1252) в моей системе.Набор символов содержит специальные OE и oe diphtongs (как можно увидеть в статье Википедии о Windows-1252 ), но я почему-то подозреваю, что символы не найдены в ISO-8859-1 set удаляется / заменяется.

Такие символы, как â, ç и т. Д., Правильно отображаются на консоли, но любые символы в расширенном диапазоне 0x80 ... 0x9F - нет.

Как правильно отобразить их на консоли?

Ответы [ 2 ]

5 голосов
/ 28 октября 2011

Вот так:

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

Не забудьте выбрать шрифт для окна консоли, поддерживающий нужные вам символы.Это снимок экрана моего окна консоли с использованием шрифта Consolas.

enter image description here

2 голосов
/ 28 октября 2011

Вы можете установить кодировку вывода на консоли следующим образом ...

Console.OutputEncoding = Encoding.UTF8;
...