Попробуй
Encoding consoleEncoding = Console.Out.Encoding;
Здравствуйте, pvnic, Вы писали:
P>Здравствуйте, S_Ivanov, Вы писали:
P> а каким образом можно получить название этой кодировки в привычном виде. типа windows-1251
P>там есть 4 метода
P>consoleEncoding.CodePage;
Цифирь. Т.е. в твоем случае это будет 1251.
P>consoleEncoding.EncodingName;
Полное имя кодировки. В твоем случае это будет Cyrrilic (Windows)
P>consoleEncoding.HeaderName;
Имя кодировки для использования в заголовке емейла. Есть еще BodyName для использования в теле письма.
P>consoleEncoding.WebName;
Имя кодировки по интернет-стандартам. Используется в HTTP-Headers, в HTML, в XML и т.д. В твоем случае это windows-1251.
... << RSDN@Home 1.1 beta 1 >>
S_I>S_I>Encoding consoleEncoding = Console.Out.Encoding;
S_I>
Верно. Но по Win32-идеологии кодировка консоли может меняться. .NET на такие заморочки не расчитан, там этот Console.Out.Encoding считывается один раз при инициализациии.
... << RSDN@Home 1.1 beta 1 >>
Везде в
Console.Out
Console.OutputEncoding
Console.InputEncoding
прописана кодировка 1251, однако в реальности она 866, и соотвественно, сделать вывод русских букв удалось только так
StreamWriter cons = new StreamWriter(Console.OpenStandardOutput(), Encoding.GetEncoding(866));
cons.WriteLine("ТЕКСТ РУССКИМИ БУКВАМИ");
cons.Flush();