ich habe ein Problem beim Umwandeln eines Strings von utf8 zu Ansi in einer normale Anwendung unter Linux.
Die Funktion utf8toansi wird einfach ignoriert.
Das gleiche unter Windows funktioniert. Auch eine Konsole-Anwendung funktioniert sowohl unter Window als auch unter Linux.
Getestet habe ich das so:
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
var a : String;
b : String;
i : integer;
begin
a:='Ärger';
b:=utf8toansi(a);
for i:=1 to length(a) do memo1.Lines.Add(inttostr(ord(a[i])));
memo1.Lines.Add('-----');
for i:=1 to length(b) do memo1.Lines.Add(inttostr(ord(b[i])));
end;
bzw.
Code: Alles auswählen
a:='Ärger';
b:=utf8toAnsi(a);
for i:=1 to length(a) do writeln(ord(a[i]));
writeln('-------');
for i:=1 to length(b) do writeln(ord(b[i]));
readln;
Ich verwende Lazarus 1.2.6 und FPC 2.6.4
Ist das bei Euch auch so? Hat jemand eine Erklärung?