![]() |
AW: Indy HTTPClient Post umlaute
Huhu,
das hat dir aber keine ruhe gelassen, gell... :coder2: Da kenne ich noch einen der weiter gesucht hat. Er kam auf die gleiche Lösung. Aber wie gesagt ich habe mich entschlossen ICS zu nehmen, zumal die das "neue" SSL unterstützen, deswegen hatte ich da nicht weitergesucht. Ich dachte ja erst das ich einen "dummen" Fehler mache. Deswegen hatte nach viel googlen gefragt was ich schon wieder falsch mache. Einen schönen Sonntag wünsche ich dir... |
AW: Indy HTTPClient Post umlaute
Zitat:
Kürzeste Änderung (ohne eine Zeile weiteren Code) wäre gewesen: Wenn idhttp.post('http://127.0.0.1:5000/translate',hs); nicht funktioniert, dann streame idhttp.post('http://127.0.0.1:5000/translate',TStringStream.Create(hs.Text, TEncoding.UTF8))); Bloss frage ich mich bei solchen Konstrukten jeweils immer "wer räumt danach auf" ;-). Wenn man bei Indy Post mit TStrings verwendet: Auch Indy verwendet Streams, macht aber dies: mit Option hoForceEncodePar erwartet Indy, dass man ![]() ohne Option hoForceEncodePar gibt leider Indy die beim Post angegebene Kodierung nicht weiter. (hier glaube ich eher an einen Bug als an by design) Indy prüft zwar dann, ob eine Kodierung ausgewählt worden ist, diese ist aber halt dann immer nil. Indy prüft bei nil auf GIdDefaultTextEncoding und wählt diese. D.h. wenn man vor dem Post GIdDefaultTextEncoding := encUTF8; setzt, funktioniert idhttp.post('http://127.0.0.1:5000/translate',hs); jeanicke, ich habe noch eine Frage zu deinem #22. Du verwendest dort UTF8Encode() und fügst den encodierten string einer TStringlist hinzu:
Delphi-Quellcode:
Ist das ein neues Feature von Delphi 12? Ich bin immer noch auf dem Stand 11.2 (weil Delphi 11.2 bis auf wenige Macken so super läuft). Und in 11.2 kann TStringList keine utf8strings aufnehmen.
pdata:=TStringList.Create;
for i:=0 to memoPost.Lines.Count-1 do begin pdata.Add(UTF8Encode(..)); D.h. bei meinem Delphi ist, wenn u : utf8string; s : string; nach u := s, s := u in s wieder ein string drin. Oder anders geschrieben: In meinem Delphi ist pdata.Add(UTFEncode(s)) gleichwertig mit pdata.Add(s). Kann Delphi 12 hier mehr? |
AW: Indy HTTPClient Post umlaute
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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 by Thomas Breitkreuz