![]() |
Delphi XE Indy httpclient auf UTF-8 Übertragung einstellen
Hallo Leute,
habe bei der Umstellung meiner Programme von Delphi2007 auf XE noch Probleme mit dem Indy httpclient. Mit Delphi2007 funktionierts einwandfrei nur mit XE klappts nicht. Hier die Problembeschreibung... Ich übertrage ein XML-File UTF-8 per httpclient als post an ein Script auf einem Server auf dem ich selbst keinen Zugriff habe um zu prüfen was dort ankommt. Das Problem ist das File wird mit Fehlermeldung immer dann abgewiesen wenn sich Umlaute im File befinden. Folgende Erfahrung habe ich bisher gemacht... 1. XML-File (StringList UTF-8 codiert) per Post mit Delphi2007 mit und ohne Umlaute... Kein Problem... 2. XML-File (StringList UTF-8 codiert) per Post mit DelphiXE ohne Umlaute... Kein Problem... 3. XML-File (StringList UTF-8 codiert) per Post mit DelphiXE mit Umlauten... Fehlermeldung > Zeichen (Umlaut) nicht erkannt... Ich denke der httpclient überträgt in XE mit einer anderen Codierung als UTF-8. Meine Frage wie kann ich am httpclient die Codierung so einstellen das per UTF-8 übertagen wird. Habe mir die httpclientbeschreibungen von geskill angeschaut, habe aber nichts gefunden das mir weiterhilft. Am sinnvollsten schien mir von gskill ResponseStr := Post('http://www.delphipraxis.net/login.php?do=login', Params, Enc); Allerdings kann ich den Parameter Enc nicht angeben, da er bei meinen Indyversionen nicht im Post vorgesehen ist. Habe auch nachgeschaut bei Indy nach neueren Versionen, aber die Indyversionen die zum Download stehen sind ältere Versionen die ich bei XE dabei hatte. Wäre toll wenn mir jemand helfen könnte, dass Problem muß sich doch lösen lassen... Gruß Thomas Hab noch was vergessen... Wenn ich das mit XE erzeugte XML-File mit 2007 übertrage gehts einwandfrei. Also scheint die Wahrscheinlichkeit groß das der httpclient in XE nicht in UTF-8 überträgt, dort evtl. eine anderes Default eingestellt ist. |
AW: Delphi XE Indy httpclient auf UTF-8 Übertragung einstellen
Aktuelle Indy-Version installiert. Wenn ich mich recht erinnere gabs in dem Bereich UTF8/Unicode bei der mit Delphi gelieferten Version noch einige Bugs.
Download für aktuelle Version: ![]() ![]() |
AW: Delphi XE Indy httpclient auf UTF-8 Übertragung einstellen
Zitat:
![]() |
AW: Delphi XE Indy httpclient auf UTF-8 Übertragung einstellen
Ich habe jetzt versucht die Indy 10.5.9. zu installieren, die läuft aber unter XE nicht. Leider bekomme ich jetzt auch die 'alte' nicht mehr zum laufen... Kann man die 10.5.8. noch irgendwo abladen? Bei Google komme ich nur wieder bei Indy raus und dort finde ich nur die neueste Version.
|
AW: Delphi XE Indy httpclient auf UTF-8 Übertragung einstellen
Eine Reparaturinstallation des Delphi?
|
AW: Delphi XE Indy httpclient auf UTF-8 Übertragung einstellen
guter Tip könnte ich gleich mal versuchen.
|
AW: Delphi XE Indy httpclient auf UTF-8 Übertragung einstellen
@Himitsu:
Danke Himitsu hat geklappt ohne das ich alle Komponenten neu installieren musste, manchmal steht man auf dem Schlauch was die einfachen Lösungen betrifft. Also bei mir ist die Version 10.5.7. installiert wie komme ich jetzt noch an die 10.5.8., leider lässt sich die 10.5.9. bei mir unter XE nicht installieren. Evtl. kann ich die 10.5.8. installieren. Danke schon mal im voraus für eure Mühen. |
AW: Delphi XE Indy httpclient auf UTF-8 Übertragung einstellen
So hab's jetzt endlich gefunden was getan werden muss, geht auch mit Indy 10.5.7. Der Postbefehl muss sinngemäß so aussehen...
HTTPClient.Post(fScriptUrl,ParaStringList,SysUtils .TEncoding.UTF8); Hier gibts dann auch Unicode, UTF7, ASCII etc. Ich hoffe es kann noch jemand gebrauchen... Beste Grüße an Alle Tomski |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz