Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   HTTP Post als ascii mit Umlauten (https://www.delphipraxis.net/197292-http-post-als-ascii-mit-umlauten.html)

DieDolly 27. Jul 2018 15:43

AW: HTTP Post als ascii mit Umlauten
 
<unwichtige frage gelöscht>

markusagb 27. Jul 2018 15:50

AW: HTTP Post als ascii mit Umlauten
 
(Login+)content=ÖÄÜßöäü
im Windows Browser gesendet kommt das auch genau so an: ÖÄÜßöäü
Im Delphi Indy-Post gesendet kommt ??????? an

markusagb 27. Jul 2018 15:51

AW: HTTP Post als ascii mit Umlauten
 
Zur Erklärung, wir senden den Radiotext vom Studio zum Sender per HTTPs Post.

Delphi.Narium 27. Jul 2018 15:59

AW: HTTP Post als ascii mit Umlauten
 
Wenn Du kein UTF-8 verschicken willst, dann solltest Du auch nicht angeben, dass Du
Delphi-Quellcode:
idHTTP1.Request.Charset := 'utf-8';
verschickst.

Versuche es bitte mal mit
Delphi-Quellcode:
idHTTP1.Request.Charset := 'ISO-8859-1';
Wenn Du einen aktuellen Browser nutzt, dann wird der sicherlich UTF-8 verwenden.

Im Zweifelsfalle mal im Quelltext der Webseite, mit der Du die Daten verschickst, nachsehen, ob da ein Zeichensatz angegeben wird und ggfls. welcher.

Vermutlich meint die "Gegenseite" (Broadcast-Provider) nicht Ascii, sondern URL-Encoded, was sich ja auch aus dem Contenttype ergibt.

Aus Ü Ä Ö ß wird dann %C3%9C%20%C3%84%20%C3%96%20%C3%9F.
Aus Hällo Wörld wird dann H%C3%A4llo%20W%C3%B6rld.

'ne passende Funktion müsste bei den Indys irgendwo dabei sein.

markusagb 27. Jul 2018 16:08

AW: HTTP Post als ascii mit Umlauten
 
TOP Delphi.Narium!!

Einen Schritt weiter. Also es ist egal ob UTF oder ISO im Charset steht, wenn ich Deine
"H%C3%A4llo%20W%C3%B6rld" versende zeigt das Radio jetzt auch endlich das "ä" an :-)))

Wie kriege ich jetzt noch meinen String in das Format, mit StringReplace('ä','%C3%A4') oder gibts da etwas anderes?

DieDolly 27. Jul 2018 16:12

AW: HTTP Post als ascii mit Umlauten
 
https://stackoverflow.com/questions/...ncode-function

Delphi.Narium 27. Jul 2018 16:15

AW: HTTP Post als ascii mit Umlauten
 
Such mal nach Bei Google suchenSource Delphi Url Encode der erste Treffer zeigt 'nen Beispielquelltext.

Delphi-Quellcode:
params.Add('login='+DLUser+'&password='+DLPassword +'&type=import&really=1&content='+TIdURI.URLEncode(DynLab));


Oder etwas lesbarer:

Delphi-Quellcode:
params.Add(Format('login=%s&password=%s&type=import&really=1&content=%s',[DLUser,DLPassword,TIdURI.URLEncode(DynLab)]));

markusagb 27. Jul 2018 16:18

AW: HTTP Post als ascii mit Umlauten
 
DANKE!!!
Fehlermeldung: "Protokollfeld ist leer"

Delphi.Narium 27. Jul 2018 16:29

AW: HTTP Post als ascii mit Umlauten
 
Von wem kommt die Fehlermeldung?

Exception in Deinem Programm?

Fehlermeldung der Webseite?

Suchmaschinen sind Deine Freunde ;-)

Bei Google suchenProtokollfeld ist leer liefert als erstes:
https://www.delphipraxis.net/163186-...-probleme.html

Daraus wird dann (vermutlich):

Delphi-Quellcode:
params.Add(Format('login=%s&password=%s&type=import&really=1&content=%s',[DLUser,DLPassword,TIdURI.URLEncode(Utf8Encode(DynLab))]));

markusagb 27. Jul 2018 21:34

AW: HTTP Post als ascii mit Umlauten
 
Grüß Dich, sorry für die schmalen Angaben - der Indy-Post Befehl löst diese Exception aus.
Leider gibt es keine überladene Version von Format (steht nun da...).
Man könnte das mit StringReplace auch machen, ist halt nicht ganz sauber...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.
Seite 2 von 3     12 3      

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