Вы можете установить входную кодовую страницу вашего консольного приложения для чтения этих специальных символов.
Существует Win32 API под названием SetConsoleCP, чтобы установить кодовую страницу ввода. В следующем примере я использую кодовую страницу 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);
}
EDIT:
AS L.B. предложил также использовать 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);
}
КОНЕЦ РЕДАКТИРОВАНИЯ
Надеюсь, это поможет.