Ok, I understand.
So readln is affected by the WideString Manager, and the WideString Manager use operating system routines, (Windows). In linux I use cwstring. ok.
In this case, When I use readln. readln (cad);
The command interpreter uses 850 (cmd), but Windows uses 1252. When I enter the symbol €, it converts it to ?. As I understand, because this symbol does not exist in 850.
But when I use Writeln ('€'), no shows the question mark ?. As I understand, it is because the symbol exists in 1252.
That is, When I use readln, then the Widestring manager use the charset of the command interpreter (cmd 850), and when I use writeln, then the Widestring manager, use the charset of the Operating System (ANSI-1252). (only windows)
Am I right, or am I wrong?
thanks