Einzelnen Beitrag anzeigen

Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Delphi XE2/Indy 10: Umlaute bei TidHTTP werden als ? angezeigt

  Alt 15. Jun 2012, 18:15
Also die Antwort vom Server wird nicht korrekt umgewandelt.

Du könntest schauen ob du AcceptCharSet gesetzt hast.

Es könnte auch sein, dass der Server ein falsches CharSet (Response.CharSet) sendet und dies somit von Indy falsch umgewandelt wird. Dann müsstest du dies manuell korrigieren. Oder wenn du Zugriff zum Server hast schauen ob dies korrigieren kannst.
Delphi-Quellcode:
ReplyData := TMemoryStream.Create;

HTTPClient.Request.CharSet := 'ISO-8859-1';
   
Enc := CharsetToEncoding(HTTPClient.Request.CharSet);

HTTPClient.Post(RequestUrl, Params, ReplyData, Enc);

ReplyData.Position := 0;

// statt Response.Charset kannst du dies jetzt beliebig anpassen
ResponseStr := ReadStringAsCharset(ReplyData, Response.Charset);

// mit ReplyData.DataString kommt du an den Quellcode

Benutzt du die Version die mit XE2 installiert wurde oder eine aktuellere aus dem SVN. Also empfehle dir auf eine aktuelle aus dem SVN umzusteigen.
Sebastian
  Mit Zitat antworten Zitat