pizza4ever
Lt. Commander
- Registriert
- Apr. 2009
- Beiträge
- 1.665
Hallo zusammen
eine Frage zu einem Webservice.
Ich habe folgende Sitaution: Ich schicke einem Webservice einen Request mit
und bekomme eine UTF-8 kodierte Antwort zurück.
Das Problem ist nun, dass .net / Powershell diese nicht als UTF-8 kodiert erkennt und daher Fehler entstehen, siehe auch hier:
https://stackoverflow.com/questions/47952689/powershell-invoke-webrequest-and-character-encoding
Das ist wohl garnicht sooo doof was da passiert, siehe auch hier:
https://www.w3.org/International/articles/http-charset/index
1.) Ist meine Annahme das die "saubere" Lösung wäre, dass der Webservice im Header der Antwort das Tag:
mitgibt?
2.) Ist es üblich, dass auch die HTML Version und der Status Code mitgeliefert werden vom antwortenden Webservice?
3.) Gibt es noch weitere "Standards", die der Webservice einhalten sollten?
Danke und viele Grüße,
Alex
eine Frage zu einem Webservice.
Ich habe folgende Sitaution: Ich schicke einem Webservice einen Request mit
Code:
Content-Type: text/html; charset=utf-8
und bekomme eine UTF-8 kodierte Antwort zurück.
Das Problem ist nun, dass .net / Powershell diese nicht als UTF-8 kodiert erkennt und daher Fehler entstehen, siehe auch hier:
https://stackoverflow.com/questions/47952689/powershell-invoke-webrequest-and-character-encoding
PowerShell obeys the standard by assuming ISO-8859-1, but unfortunately the site is using UTF-8.
Das ist wohl garnicht sooo doof was da passiert, siehe auch hier:
https://www.w3.org/International/articles/http-charset/index
Es gibt nun zwar Workarounds wie die Antwort "Raw" zu speichern und dann neu auzulesen, aber das sind ja keine besonders schöne Lösungen, daher meine Fragen:Es ist sehr wichtig, Web-Dokumente immer explizit zu kennzeichnen. HTTP/1.1 legt den Standardwert für charset mit ISO-8859-1 fest. Es gibt aber unzählige ungekennzeichnete Dokumente in anderen Zeichencodierungen, weshalb Browser die vom Nutzer bevorzugte Zeichencodierung verwenden, wenn nicht explizit ein charset-Parameter angegeben ist.
1.) Ist meine Annahme das die "saubere" Lösung wäre, dass der Webservice im Header der Antwort das Tag:
Code:
Content-Type: xxxx; charset=utf-8
mitgibt?
2.) Ist es üblich, dass auch die HTML Version und der Status Code mitgeliefert werden vom antwortenden Webservice?
3.) Gibt es noch weitere "Standards", die der Webservice einhalten sollten?
Danke und viele Grüße,
Alex