【问题标题】:Outputting irish language characters (cmd.exe) from c#从 c# 输出爱尔兰语言字符(cmd.exe)
【发布时间】: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


【解决方案1】:

看来你需要使用Unicodeencoding。

string[] lines = new[] { "Fadó", "fadó" };
Console.OutputEncoding = Encoding.Unicode;

foreach (string s in lines) { Console.WriteLine(s); }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多