您可以设置控制台应用程序的输入代码页来读取这些特殊字符。有一个名为 SetConsoleCP 的 Win32 api 来设置输入代码页。在以下示例中,我使用 Windows-1252 代码页:
[DllImport("kernel32.dll")]
private static extern bool SetConsoleCP(uint wCodePageID);
static void Main(string[] args)
{
SetConsoleCP((uint)1252);
Console.OutputEncoding = Encoding.UTF8;
System.Console.Out.WriteLine("œil");
string euro = Console.In.ReadLine();
Console.Out.WriteLine(euro);
}
编辑:
AS LB 建议您也可以使用 Console.InputEncoding = Encoding.GetEncoding(1252)。
这是没有互操作的完整示例(注意,您也可以使用 Windows-1252 代码页进行输出编码:
static void Main(string[] args)
{
Console.InputEncoding = Encoding.GetEncoding(1252);
Console.OutputEncoding = Encoding.GetEncoding(1252);
System.Console.Out.WriteLine("œil");
string euro = Console.In.ReadLine();
Console.Out.WriteLine(euro);
}
结束编辑
希望这可以帮助。