Thema: Delphi Webservice

Einzelnen Beitrag anzeigen

InschenierSB

Registriert seit: 25. Apr 2018
Ort: Regensburg
39 Beiträge
 
#86

AW: Webservice

  Alt 17. Mai 2018, 06:39
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);
  Mit Zitat antworten Zitat