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
Seite 1 von 2  1 2      
markusagb

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

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
 
#2

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
markusagb

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

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 15:26
Danke für die Antwort,

ich möchte Ascii wegsenden, das was zurück kommt ist erst einmal egal.

Also zum Beispiel im Post als Textnachricht "Ü Ö Ä ß".
Wenn ich den Post mit einem Windows-Browser versende (inkl Login natürlich), dann kommen die Umlaute an,
mit meinem Delphi Indy-Post nur "?".

Version Delphi 10.1 Berlin
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.491 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 15:34
Schreib doch mal was du unter Ascii verstehst. Bei dem was ich darunter verstehe (siehe Wikipedia) gibt es keine Umlaute.
  Mit Zitat antworten Zitat
DieDolly

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

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 15:37
Ich denke er meint eher ANSI.
Denn im 7 Bit ASCII-Zeichensatz gibt es keine Umlaute. Im 8 Bit ANSI-Zeichensatz schon.

Wenn du tatsächlich ASCII verschicken willst, dann musst die Umlaute Ä = Ae usw. schreiben.
Oder du iterierst durch jeden einzelnen Buchstaben, holst du dir den ordinalen Wert davon mit Ord(Buchstabe) und schickst somit eine Zahlenfolge weg, die so gesehen auch unter ASCII fällt.

Geändert von DieDolly (27. Jul 2018 um 15:41 Uhr)
  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, 15:59
Wenn Du kein UTF-8 verschicken willst, dann solltest Du auch nicht angeben, dass Du idHTTP1.Request.Charset := 'utf-8'; verschickst.

Versuche es bitte mal mit 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.
  Mit Zitat antworten Zitat
markusagb

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

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 16:08
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?
  Mit Zitat antworten Zitat
markusagb

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

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 15:39
Unser Broadcast-Provider hat mir mitgeteilt, dass der Post von Umlauten im ASCII Code versendet werden muss, damit die Empfängerseite den richtigen Buchstaben anzeigen kann.
Mit "Hello#20World" Klappt das auch => "Hello World".
Nur die Umlaute nicht...

Hier die Mail:
Der Text muss in ASCII Formatierung URL Encoded übertragen werden.
Beispiel: Hello World  Hello%20World  %20 ist der Hexadezimal
ASCII Code für Leerzeichen
  Mit Zitat antworten Zitat
DieDolly

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

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 15:43
<unwichtige frage gelöscht>

Geändert von DieDolly (27. Jul 2018 um 16:12 Uhr)
  Mit Zitat antworten Zitat
markusagb

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

AW: HTTP Post als ascii mit Umlauten

  Alt 27. Jul 2018, 15:50
(Login+)content=ÖÄÜßöäü
im Windows Browser gesendet kommt das auch genau so an: ÖÄÜßöäü
Im Delphi Indy-Post gesendet kommt ??????? an

Geändert von markusagb (27. Jul 2018 um 15:52 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:35 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