Zur besten Antwort gewählt
Nov 06, 2023 - 10:29
Leider habe ich keine Lösung parat, aber einen Ansatz. Eventuell bringt einen das schon mal in eine mögliche Richtung…
Kannst du die Zeichenkodierung beeinflussen? Für den HTTP-Response könnest du prüfen, dass der Header Content-Type auf application/json; charset=utf-8 gesetzt ist.
Es besteht auch die Möglichkeit, dass kein Charset übergeben wird und Windows (Firefox oder Edge) es automatisch aufgrund der OS Ländereinstellung setzt. Auch in der Fernbedienung am Computer.
Manchmal kann das Problem auch am Request liegen. Prüfe ob der HTTP-Request Header Accept-Charset auf UTF-8 gesetzt ist.
Als Workaround könntest du das JSON vorher konvertieren.
Hoffe es hilft dir irgendwie weiter und du kommst du einem entsprechenden Ergebnis.
Von
Vielen Dank für Deine Antwort! Kannst Du mir sagen, wie ich den Header Accept-Charset auf UTF-8 in Mediola einstelle?
Von
Try and error ;-) HTTP-Kopfzeile dort unter Schlüssel und Wert Accept-Charset: UTF-8
Versuche doch einfach vorab mit einem CURL Aufruf und schau wie sich das Ergebnis ändert.
curl -H "Accept-Charset: UTF-8" -X GET http://IP-Adresse/YamahaExtendedControl/v1/netusb/getPlayInfo
Sollte es damit auch nicht klappen, wird der Header von Mediola hart gesetzt und kann nicht überschrieben werden. Würde mich aber wundern, da UTF-8 bei uns default sein sollte. Oder es wird gar nichts gesetzt und es greift das OS ein.
Falls du mit einem Workaround nicht arbeiten möchtest, bliebe dir als letzte Möglichkeit an den Support von Mediola zu schreiben oder ein Ticket im BugTracker zu eröffnen.
Von
Ich habe versucht, den Schlüssel (Accept-Charset) und Wert (UTF-8) beim HTTP-Request senden in "Kopfzeilen ..." einzutragen. Leider hat AIO Remote unter iOS dadurch keine Änderung gezeigt.
Ich habe außerdem versucht, den HTTP Request "http://IP-Adresse/YamahaExtendedControl/v1/netusb/getPlayInfo" direkt in iOS Safari und auch iOS Firefiox aufzurufen - in beiden Fällen sind dort die Umlaute in der Antwort falsch dargestellt.
Leider kann man den Request-Header in Safari/Firefox unter iOS nicht anzeigen ...
Unter Windows in Firefox sieht man den Header - es scheint hier nicht notwendig zu sein, UTF-8 als Accept-Charset vorzugeben:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language de,en-US;q=0.7,en;q=0.3
Connection keep-alive
DNT 1
Host 192.168.1.140
Upgrade-Insecure-Requests 1
User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Das Ergebnis unter Windows ist dennoch korrekt/wie erwartet:
{"response_code":0,"input":"net_radio","play_queue_type":"system","playback":"play","repeat":"off","shuffle":"off","play_time":675,"total_time":0,"artist":"Hitradio Ö3 (Vienna\/German)","album":"","track":"Robert Miles - Children","albumart_url":"/YamahaRemoteControl/AlbumART/AlbumART0817.png","albumart_id":817,"usb_devicetype":"unknown","auto_stopped":false,"attribute":16785411,"repeat_available":[],"shuffle_available":[]}
Hat also leider nicht geklappt.
Trotzdem Danke !
Neuen Kommentar hinzufügen