./25060 Même avec ça (J'ai chercé pendant deux bonnes heures avant de me tourner vers WinAPI), ça renvoie null:
static void Main(string[] args)
{
Console.InputEncoding = Encoding.UTF8;
Console.OutputEncoding = Encoding.UTF8;
string message = Console.ReadLine(); // Tape un accent au milieu.
Console.WriteLine(message); // Boom, il suffit de s'en rendre compte via le débuggeur.
}Même en forçant une font utf8-friendly (Consolas), et en tapant "chcp 65001" (UTF8) avant, ReadLine n'aime pas les accents. Je suppose qu'il essaie de lire de l'ASCII ou de l'Unicode en interne...
http://connect.microsoft.com/VisualStudio/feedback/details/652017/bcl-reading-unicode-input-from-console-not-supportedhttp://stackoverflow.com/questions/7939643/how-do-i-read-special-characters-0x80-0x9f-from-the-windows-console-in-c[EDIT] Ouais, elle lit en Unicode même si tu forces l'UTF8, donc j'ai fait un Encoding.Convert(...) crado, ça passe pour le moment, sans winapi (Même si bizarrement maintenant ça bloque stdout...)
Encoding.UTF8.GetString(Encoding.Convert(Encoding.Unicode, Encoding.UTF8, Encoding.Unicode.GetBytes(Console.ReadLine())))Et oui, je suis en .NET 4.5...