【发布时间】:2013-10-03 01:07:26
【问题描述】:
我正在尝试创建一个能够输出不同语言的命令行程序。
有没有办法通过 Console.WriteLine 设置输出到命令行的编码?
我想在 utf-8 和 shift-JIS 之间进行交换,而不是假设命令 shell 程序的格式正确。
只是添加有关此的更多信息。我当前的代码读入了一个包含特殊字符的文件:
"Fadó, fadó"
但输出没有正确显示特殊字符:
"Fado, fado"
我只是在使用 Console.WriteLine:
foreach (string s in lines)
{
Console.WriteLine(s);
}
我还没有弄清楚如何设置 Console.WriteLine 的编码。有没有可能,或者有没有人可以指出的替代方案?
【问题讨论】:
-
听起来Console.OutputEncoding 属性可能是您想要的。
-
首先要做的是检查问题是阅读还是写作。请参阅csharpindepth.com/Articles/General/Strings.aspx 获取一些代码来帮助您调试此类事情。
-
阅读很好,因为它可以很好地输出到文本文件。它只是控制台输出。看起来 Console.OutputEncoding 是正确的答案。
-
命令行上的童话?太酷了。
标签: c# cmd diacritics non-ascii-characters