.Net CLR-строки [внутренне] имеют кодировку UTF-16.ADO.Net, по крайней мере с SQL Server, обрабатывает перевод между собственным форматом строки в базе данных и кодировкой UTF-16, используемой в .Net CLR.
Я подозреваю, что это верно для Oracle ADO.NetПоставщик также.
Однако Console.WriteLine () делает свое дело.Вы можете получить (или установить) входную кодировку с помощью Console.InputEncoding и получить / установить выходную кодировку с помощью Console.OutputEncoding.
На моей машине Console.WriteLine () правильно отображает акцентированные символы.Кодировка вывода по умолчанию на моем компьютере - System.Text.SBCSCodePageEncoding.Используется кодовая страница Windows 1252 IBM 437, она же Windows.И он использует растровый шрифт по умолчанию 'Terminal'.
Если используемый вами шрифт не поддерживает (по крайней мере) элементы управления C0, базовую латиницу и C1, а также дополнение Latin-1 (ISO 8859-1)), вы вряд ли добьетесь успеха с акцентированными персонажами.кодовая страница IBM 437 / Windows 1252 в основном соответствует ISO 8859-1, за исключением того, что кодовым точкам от 0x80 до 0x9F (управляющие символы C1) были присвоены глифы.