Hallo,
ich habe ein kleines Programm geschrieben mit dem
XML-Dateien über einen
POST-Request mit einer Gegenstelle ausgetauscht werden. Damit das Ganze
sicher abläuft wird das per https gemacht. Prinzipiell funktioniert auch
alles recht gut, außer einiger Merkwürdigkeiten bei Umlauten/Sonderzeichen.
Damit es etwas verständlicher wird hier etwas Quelltext in vereinfachter Form:
Code:
procedure DoRequest;
var
req : IXMLHTTPRequest;
Adresse, xmlstring : string;
begin
req := CoXMLHTTP.Create; // Interface erzeugen
Adresse := 'https://www.irgendwo.de/xmlinterface.php?getDaten';
xmlstring := '<?
xml version="1.0" encoding="utf-8"?><xmlinterface></xmlinterface>';
req.open('POST', Adresse, False, {Username} EmptyParam, {Passwort} EmptyParam);
req.send(xmlstring); // Anfrage an Server senden und Antwort abwarten
Memo1.Lines.Text := req.responseText;
end;
Leider kommen Umlaute die per UTF-8 codiert wurden weder dort korrekt an, noch
erhalte ich unter responseText die Umlaute korrekt UTF-8 codiert. Aus einem
c3 bc (UTF-8 für ü) wird direkt ein ü, was so natürlich nicht gewollt ist!
Wo kann man hier ansetzen?
Viele Grüße
Peter