【发布时间】:2011-10-29 14:54:27
【问题描述】:
在David的帮助下,我终于解决了writing special characters (0x80...0x9F) to the Windows console的问题:
- 输出编码必须设置为 UTF-8。
- 控制台使用的字体应该类似于 Consolas。
现在我希望能够读回包含 0x80-0x9F 范围内的特殊字符的文本(使用 Windows 1252 编码),例如欧元符号 (€):
string text = System.Console.ReadLine ();
每当我输入一个特殊字符时返回null。我天真地尝试将InputEncoding 设置为UTF8:
System.Console.InputEncoding = System.Text.Encoding.UTF8;
但这无济于事。
【问题讨论】:
-
不是真正的解决方案,但我确实找到了这个Microsoft Connect 错误报告。
-
只写一个 GUI 应用程序不是更容易吗?他们很好地处理 Unicode。
-
试试
System.Console.Read()...
标签: c# character-encoding console windows-console