Я пытаюсь создать программу командной строки, способную выводить разные языки.Вывод символов ирландского языка (cmd.exe) из C#
Есть ли способ установить кодировку для вывода в командной строке через Console.WriteLine?
Я хочу обменять между utf-8 и shift-JIS и не предполагать, что командная оболочка программы находится в правильном формате.
Просто чтобы добавить дополнительную информацию об этом. Мой текущий код считывает файл, который имеет специальные символы:
"Fadó, fadó"
но выход не правильно отображать специальные символы:
"Fado, fado"
Я просто с помощью Console.WriteLine:
foreach (string s in lines)
{
Console.WriteLine(s);
}
Я не понял, как установить кодировку для Console.WriteLine. Возможно ли это, или есть альтернатива, которую кто-то может указать?
Похоже собственности [Console.OutputEncoding] (http://msdn.microsoft.com/en-us/library/system.console.outputencoding.aspx) может быть то, что вы хотите. – keyboardP
Первое, что нужно сделать, это проверить, является ли проблема чтением или записью. См. Http://csharpindepth.com/Articles/General/Strings.aspx для некоторого кода, который поможет вам отлаживать подобные вещи. –
Чтение в порядке, поскольку оно выводится в текстовом файле. Его просто консольный выход. Похоже, Console.OutputEncoding - это ответ. – merrua