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