On Mon, 16 Jul 2012, Reinier Olislagers wrote:

Hope I got your attention with the subject ;)

After having had help on the list I managed to write UTF8 text to the
Windows Vista console using 2.6
However, my test program (see attachment) fails on trunk.

See
http://lazarus.freepascal.org/index.php/topic,17548
for discussion (initially about other problem)
Also had a look at
http://www.mail-archive.com/fpc-devel@lists.freepascal.org/msg26232.html

This works in FPC 2.7.1:
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),@s[1],length(s),bw,nil);
... but seems to be Windows-only.

Indeed.


What am I missing and what is the easiest cross-platform way to
output/accept UTF8 text to/from the console?

There is no cross-platform way.

On Unix, the (x/k)console is usually UTF-8 these days, so you don't need to do 
anything.
You need to look at the various localization environment variables.

Should I set the console codepage back to the one in use before the
program ran? Should I also mess with SetConsoleCP and/or SetTextCodePage?

These don't exist on non-windows ?

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to