What happens if you redefine your program as follows?
program utftestbom;
{$mode objfpc}{$H+}
uses SysUtils;
const MyStr: UTF8String = 'Texto ł ñ ø ß á';
var
i: Integer;
begin
WriteLn('Printing string values');
WriteLn('Length: ', Length(MyStr));
for i := 1 to Length(MyStr) do
Write(IntToHex(Integer(MyStr[i]), 2) + ' ');
WriteLn('');
end.
Felipe Monteiro de Carvalho wrote:
On 6/13/07, Florian Klaempfl <[EMAIL PROTECTED]> wrote:
Then you have to use the utf8string type. If it doesn't work good
enough, we've to fix it.
changing on my program from strint to utf8string didn't make any
difference. The string is ok when I don't have BOM and is wrong with a
BOM
program utftestbom;
{$mode objfpc}{$H+}
uses SysUtils;
var
MyStr: UTF8String;
i: Integer;
begin
MyStr := 'Texto ł ñ ø ß á';
WriteLn('Printing string values');
WriteLn('Length: ', Length(MyStr));
for i := 1 to Length(MyStr) do
Write(IntToHex(Integer(MyStr[i]), 2) + ' ');
WriteLn('');
end.
------------------------------------------------------------------------
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal