Einzelnen Beitrag anzeigen

Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Indy Http.Post Delphi 2007 -> Delphi 2010 Umlaute

  Alt 9. Nov 2010, 09:15
Hallo DP,

ich habe schon etliche Posts zum Thema durchsucht, komme aber zu keiner Lösung.

Folgende Situation:
Auf einem Forum editiere ich per Indy-Http.Post meine Postings. Dabei wird der alte Inhalt mit Get ausgelesen, aktualisiert und wieder gepostet.

Beim Posten wird wohl einmal zuviel nach UTF8 konvertiert, weshalb ein Ä beispielsweise zu Ä auf dem Forum wird.

Die per Get erhaltenen Inhalte sind noch richtig.

Mit Delphi 2007 hat das Ganze problemlos funktioniert und an der Serverseite hat sich nichts verändert.

Folgender Code wurde in der Delphi 2007er-Version verwendet.

Delphi-Quellcode:
Strings := TStringList.Create;
try
  Strings.Add('send=send');
  Strings.Add('sid=' + sSid);
  sPostNr := '353453';
  Strings.Add('postid=' + sPostNr);
  Strings.Add('submit=Beitrag speichern');
  sMessage := Memo3.Text;
  Strings.Add('message=' + sMessage);
  IdHTTP1.HandleRedirects := True;
  try
    Memo2.text := idHTTP1.Post('http://www.testsite.de//editpost.php', Strings);
  except
    showmessage('Fehler beim Posten');
  end;
finally
  Strings.Free;
end;

Die Seiten des Forums sind so codiert:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Schalte ich hoForceEncodeParams aus, wird gar nichts mehr gepostet. sMessage wurde schon als AnsiString und String probiert. Mit Contenttype und Charset habe ich auch schon "rumgespielt", was aber auch keinen Erfolg brachte.

Hat jemand einen Tipp, wie man das unter Delphi 2010 zum Laufen bekommt?


Viele Grüße,
Uwe
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat