API Request - korrektes Encoding
Hallo Kollegen,
ich frage eine API (hivebuy) mit Powershell ab und bekomme im JSON die Umlaute falsch kodiert ausgegeben.
Wenn ich der API via PATCH oder POST Daten in UTF-8 schicke, bekomme ich auf der Weboberfläche die Umlaute sauber angezeigt und unter Powershell halt nicht.
Was könnte man denn hier noch machen? Irgendwie ist jetzt mein Kopf langsam leer.
Hintergrund für die Fragestellung:
Ich möchte den Beschreibungstext für die Datensätze via API nur dort ändern wo sich der Text gegenüber der Quelle (andere Applikation) geändert hat. Wenn ich die Umlaute falsch dargestellt bekomme, dann sind diese Beschreibungstexte immer im Abgleichslauf drin und ziehen den Abgleich unnötig in die Länge.
Grüße vom it-frosch
ich frage eine API (hivebuy) mit Powershell ab und bekomme im JSON die Umlaute falsch kodiert ausgegeben.
Clear-Host
Write-Host "Abteilungen aus Hivebuy auslesen"
# Departments aus Hivebuy auslesen und in Array $department speichern
$Token = "API-KEY "
$url = https://api.hivebuy.de/api/company/department/
$content = "application/json"
$method = "GET"
$department = Invoke-RestMethod -Uri $url -Method $method -Headers @{"Authorization" = "Bearer $Token"} -ContentType "application/json; charset=utf-8"
Wenn ich der API via PATCH oder POST Daten in UTF-8 schicke, bekomme ich auf der Weboberfläche die Umlaute sauber angezeigt und unter Powershell halt nicht.
Was könnte man denn hier noch machen? Irgendwie ist jetzt mein Kopf langsam leer.
Hintergrund für die Fragestellung:
Ich möchte den Beschreibungstext für die Datensätze via API nur dort ändern wo sich der Text gegenüber der Quelle (andere Applikation) geändert hat. Wenn ich die Umlaute falsch dargestellt bekomme, dann sind diese Beschreibungstexte immer im Abgleichslauf drin und ziehen den Abgleich unnötig in die Länge.
Grüße vom it-frosch
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 22729021323
Url: https://administrator.de/contentid/22729021323
Ausgedruckt am: 21.11.2024 um 12:11 Uhr
6 Kommentare
Neuester Kommentar
Dann ist entweder dein Skript selbst nicht als UTF-8 (mit BOM (Byte Order Mark), WICHTIG wenn das unter Windows läuft!) gespeichert, oder die Quelldaten sind schon nicht UTF-8 sondern bspw. ANSI 1252 etc..
Gruß
Gruß
Hmm, klappt hier selbst mit einer PS 5 problemlos wenn ich den -ContenType Header das charset wie oben setze. Nun denn, wird wohl an der speziellen API liegen.