![]() |
AW: HTTP Post als ascii mit Umlauten
<unwichtige frage gelöscht>
|
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 |
AW: HTTP Post als ascii mit Umlauten
Zur Erklärung, wir senden den Radiotext vom Studio zum Sender per HTTPs Post.
|
AW: HTTP Post als ascii mit Umlauten
Wenn Du kein UTF-8 verschicken willst, dann solltest Du auch nicht angeben, dass Du
Delphi-Quellcode:
verschickst.
idHTTP1.Request.Charset := 'utf-8';
Versuche es bitte mal mit
Delphi-Quellcode:
Wenn Du einen aktuellen Browser nutzt, dann wird der sicherlich UTF-8 verwenden.
idHTTP1.Request.Charset := 'ISO-8859-1';
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 ![]() 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. |
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? |
AW: HTTP Post als ascii mit Umlauten
|
AW: HTTP Post als ascii mit Umlauten
Such mal nach
![]()
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)]));
|
AW: HTTP Post als ascii mit Umlauten
DANKE!!!
Fehlermeldung: "Protokollfeld ist leer" |
AW: HTTP Post als ascii mit Umlauten
Von wem kommt die Fehlermeldung?
Exception in Deinem Programm? Fehlermeldung der Webseite? Suchmaschinen sind Deine Freunde ;-) ![]() ![]() 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))]));
|
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. |
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