(Reposted from the forum)

I tried to output Unicode text to console on English Windows Vista
(using Lucida Console font, which shows Greek and Cyrillic characters).
Doesn't seem to work.
(On Debian x64 it works perfectly - maybe because the default encoding
I've got is UTF8: LANG environment variable is en_US.utf8?)
If I redirect the output to file, I can see the output properly for the
output containing "plain" if I open the file as UTF8.

Does anybody know how to do this?

Thanks,
Reinier

{$mode objfpc}{$H+}
program UnicodeTest;

uses
  {$IFDEF UNIX}
    {$IFDEF UseCThreads}
    cthreads,
    {$ENDIF}
  {Widestring manager needed for widestring support}
  cwstring,
  {$ENDIF}
  Classes,
  StrUtils
  ;

var
UTF8TestString: string;
OurWideString: widestring;
begin
UTF8TestString:= ' rosé, водка and ούζο';
writeln ('plain: ' + UTF8TestString);
writeln (UTF8ToANSI('utf8toansi: ' + UTF8TestString));
writeln (UTF8Decode('utf8decode: ' + UTF8TestString));
//Just for luck, shouldn't work:
writeln (ANSIToUTF8('ansitoutf8: ' + UTF8TestString));
writeln (UTF8Encode('utf8encode: ' + UTF8TestString));
writeln ('');
OurWideString:= 'rosé, водка and ούζο';
writeln ('plain: ' + OurWideString);
writeln (UTF8ToANSI('utf8toansi: ' + OurWideString));
writeln (UTF8Decode('utf8decode: ' + OurWideString));
//Just for luck, shouldn't work:
writeln (UTF8Encode('utf8encode: ' + OurWideString));
writeln (ANSIToUTF8('ansitoutf8: ' + OurWideString));
end.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to