AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

HTTP Post als ascii mit Umlauten

Ein Thema von markusagb · begonnen am 27. Jul 2018 · letzter Beitrag vom 29. Jul 2018
Antwort Antwort
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#1

HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 11:01
Hallo zusammen,

vielleicht hat mir jemand einen Tipp, ich muss einen HTTP Post senden - soweit funktioniert das.
Leider werden die Umlaute äöü sowie das ß als ? übertragen. Ich habe schon verschiedenste Konvertierungen versucht mit AnsiString usw... aber das bekomme ich nicht hin

...
idHTTP1.Request.Charset := 'utf-8';

IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
params := TStringList.Create;
MBhttps :='https://199.100.X.Xort/'
...
Memo1.Lines.add(IdHttp1.Post(MBhttps, params));
...


Danke für eventuelle Ideen wie ich die Stringlist convertieren muss damit die Umlaute richtig in ascii übertragen werden... ach ja, eine Umwandlung in ae oe ue ist hier nicht gewünscht.

Euch nen schönen Tag!

Markus
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 11:08
Ich sende selber über IdHTTP und Post. Auch Umlaute sind kein Problem.
Ich lasse Request.Charset und Request.ContentType komplett weg.
Im Resultat was ich vom Post bekomme sehe ich, dass automatisch Content-Type: text/html und charset="us-ascii" benutzt wird.
Umlaute werden korrekt angezeigt.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 11:50
Leider fehlt in deinem Mustercode der entscheidende Teil. Was machst du mit der Stringlist genau? Du musst die Wetrte vor dem Senden in UTF-8 wandeln, und dann sollte das probemlos gehen. Einfach nur setzen des CharSets ändert deine Parameterwerte nicht automatisch in UTF-8.
  Mit Zitat antworten Zitat
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#4

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 13:18
procedure TForm1.DynamicLabelSend(DynLab:String);
Var
Params: TStringList;
begin
StatusBar1.Panels[4].Text:='HTTPs Dynamic Label post in progress...';
DynLab := StringReplace(DynLab,' & ',' und ',[rfReplaceAll, rfIgnoreCase]);
Edit3.Text:=DynLab;
Memo1.clear;
IdHTTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
IdHTTP1.AllowCookies := True;
idHTTP1.Request.Charset := 'utf-8';
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
params := TStringList.Create;
params.Add('login='+DLUser+'&password='+DLPassword +'&type=import&really=1&content='+DynLab);
try
Memo1.Lines.add(IdHttp1.Post(MBhttps, params));
except
end;
params.Free;
StatusBar1.Panels[4].Text:='HTTPs sent';
  Mit Zitat antworten Zitat
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#5

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 13:22
Das was rausgeschickt wird an Content ist DYNLAB, z.B.
DYNLAB:='Aktueller Titel: Über den Wolken'
Wenn ich Charset und Content Type weg lasse wird aus dem Ü trotzdem ein "?"
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#6

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 13:51
Welche Delphiversion?

Du schreibst Ascii-Umlaute gehen verloren, arbeitest aber mit UTF-8.

Was denn bitteschön: Ascii oder UTF-8?

Willst Du im Programm Ascii haben, holst aber per Post UTF-8, dann musst Du den erhaltenen Text eben nach Ascii umwandeln.

In Delphi 7 z. B.: Memo1.Lines.add(Utf8ToAnsi(IdHttp1.Post(MBhttps, params)));
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 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