Da es sich bei utf8 um 8Bit-Zeichen(folgen) handelt, kannst Du problemlos mit
Ansi-Strings arbeiten. Du mußt "nur" für die richtige Kodierung sorgen falls AnsitUtf8 in D6 nicht vorhanden ist, bastelst Du es Dir halt selber:
Delphi-Quellcode:
function MyAnsitoUTF8(instr:ansistring):ansistring;
var
i : integer;
begin
for i:=1 to length(instr) do
case instr[i] of
'ä' : result:=result+#$C3+#$A4;
.....
else
result:=result+instr[i];
end;
end;
Wobei Du natürlich noch die Codepage der
Ansi-Codierung beachten mußt.
Gruß
K-H
Guten Morgen,
vielen Dank an Jumpy und p80286, also es funktioniert unter Delphi 6. Die Funktion zum konvertieren ist schon in Delphi 6 enthalten.
Nachfolgend ein Auszug aus dem Code, falls irgendwann mal andere Leute vor dem gleichen Problem stehen (über die Loop werden nur die einzelnen Elemente der Stringlist übergeben).
Grüße Sebastian
Delphi-Quellcode:
//Ausgabe zusammenstellen
HTTP_Stream.Position:=0;
my_Response_utf8.LoadFromStream(HTTP_Stream);
// Loop für die StringList Antwort
For e:= 0 to my_Response_utf8.Count -1 do
begin
my_Response_Ansi.Add(utf8toansi(my_Response_Utf8[e]));
end;
Memo1.Lines.AddStrings(my_Request_Ansi);
Memo2.Lines.AddStrings(my_Response_Ansi);