Skip to content
  • Kategorien
  • Aktuell
  • Tags
  • Beliebt
  • Benutzer
  • Gruppen
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
MediathekView Logo

MediathekView-Forum

  1. Übersicht
  2. [Offizieller Client] MediathekViewWeb
  3. MVWeb API: Encoding der Ergebnisse

MVWeb API: Encoding der Ergebnisse

Geplant Angeheftet Gesperrt Verschoben [Offizieller Client] MediathekViewWeb
10 Beiträge 4 Kommentatoren 618 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Offline
    P Offline
    Programmer77
    schrieb am zuletzt editiert von
    #1

    Hallo!

    In den letzten Tagen ist mir aufgefallen, dass die JSON-Ergebnisliste vom API nicht mehr UTF8-codiert ist, sondern latin1. Der HTTP-Header ist immer noch content-type: application/json; charset=utf-8. Trotzdem kommt z.B. ein “ö” als 0xF6 rüber, was zu latin1 passt.

    Ist das ein Problem vom Upstream (ARD/ZDF in meinem Fall), oder wurde serverseitig etwas geändert?

    Ist abzusehen, dass es demnächst wieder UTF-8 wird, oder lohnt es sich, meine Scripte umzustellen, um latin1 zu erwarten?

    VG,
    Mike

    P 1 Antwort Letzte Antwort
    • P Offline
      P Offline
      pidoubleyou Entwickler
      antwortete auf Programmer77 am zuletzt editiert von
      #2

      @Programmer77 wenn ich MVWeb nutze, kann ich auf den ersten Blick kein Problem erkennen. Hast du konkrete Beispiele?

      P 1 Antwort Letzte Antwort
      • P Offline
        P Offline
        Programmer77
        antwortete auf pidoubleyou am zuletzt editiert von
        #3

        Im Web sieht alles OK aus. Aber wenn ich über die API draufgehe, bekomme ich latin-1.

        curl \
             -v \
             -XPOST https://mediathekviewweb.de/api/query \
             -H'Content-Type: text/plain' \
             -d'
        {
           "queries" : [
              {"fields" : ["topic"], "query" : "Deadly Tropics"}
           ]
        }'
        

        Liefert eine Datei, die python erst mal nicht interpretieren kann:
        'utf-8' codec can't decode byte 0xf6 in position 960: invalid start byte

        An der Stelle soll ein “ö” sein. Was auf meine UTF8-Konsole so dargestellt wird.
        "title":"H�llentrip mit Todesfolge (S03/E04)"
        Also mit dem Unknown Code marker.

        Mit iconv kann ich es korrekt von latin-1 nach utf-8 konvertieren. Es geht also zumindest bei dieser Anfrage nicht um einzelne Einträge der Ergebnisliste.

        1 Antwort Letzte Antwort
        • P Offline
          P Offline
          Programmer77
          schrieb am zuletzt editiert von
          #4

          Ich hatte gerade noch die Idee, es mal “umgekehrt” zu versuchen. Wenn ich ein “ß” in die Anfrage reinpacke (also z. B. nach “Lindenstraße” suche), kommen Ergebnisse zurück. Also wird das “ß” richtig erkannt. Auch die Ergebnisse sind richtig.

          Andererseits sind auch die Ergebnisse für “Shaun, das Schaf” falsch. Es liegt also auch nicht nur an einer Sendung.

          1 Antwort Letzte Antwort
          • P Offline
            P Offline
            Programmer77
            schrieb am zuletzt editiert von
            #5

            Und jetzt habe ich noch einen Fall, wo die Ergebnisse gemischt sind.

            curl \
                 -XPOST https://mediathekviewweb.de/api/query \
                 -H'Content-Type: text/plain' \
                 -d'
            {
               "queries" : [
                  {"fields" : ["topic"], "query" : "Ein Fall für zwei"}
               ],
               "sortBy" : "timestamp", "sortOrder" : "asc",
               "future" : true,
               "offset" : 45, "size" : 5
            }'
            
            

            liefert latin-1, mit offset 46 aber utf-8.

            Mit size 2 liefert offset 45 - 48 latin1, 49 und 50 UTF-8.

            Einzeln (size 1) liefern offset 45 bis 49 latin1 und 50 UTF-8.

            Es gibt also offenbar Einträge in der DB, die als UTF-8 ausgeliefert werden. Und wenn so einer dabei ist, werden die anderen konvertiert. Oder so irgenwie.

            @pidoubleyou : Kannst Du das reproduzieren?

            Mike

            1 Antwort Letzte Antwort
            • D Offline
              D Offline
              digi_casi
              schrieb am zuletzt editiert von digi_casi
              #6

              ich kann das problem bestaetigen.
              bei mir kommt es immer, wenn ich alle movies auf one oder ard-alpha anfordere.
              er meckert ueber den buchstaben 0xfc also ü.

              P 1 Antwort Letzte Antwort
              • P Offline
                P Offline
                pidoubleyou Entwickler
                antwortete auf digi_casi am zuletzt editiert von
                #7

                ich kann es mit der API reproduzieren. Der Input aus dem Crawler sieht korrekt aus.

                @bagbag kannst du dir das mal anschauen?

                1 Antwort Letzte Antwort
                • B Offline
                  B Offline
                  bagbag Entwickler
                  schrieb am zuletzt editiert von bagbag
                  #8

                  Das kommt durch diesen Bug: https://github.com/nodejs/node/issues/54543

                  Habe natürlich genau mit der betroffnen Version zuletzt gebaut. Update ist deployed - sollte also wieder passen.

                  nikhilro created this issue in nodejs/node

                  closed UTF+8 encodings are broken #54543

                  D P 2 Antworten Letzte Antwort
                  • D Offline
                    D Offline
                    digi_casi
                    antwortete auf bagbag am zuletzt editiert von
                    #9

                    @bagbag
                    bei mir taucht das problem nicht mehr auf. danke.

                    1 Antwort Letzte Antwort
                    • P Offline
                      P Offline
                      Programmer77
                      antwortete auf bagbag am zuletzt editiert von
                      #10

                      @bagbag
                      Ich kann auch bestätigen, dass jetzt wieder alles konsistent richtig ist. Mal wieder typisch Murphy, dass genau die Version im Build gelandet ist…

                      Danke für den schnellen Fix!

                      Mike

                      1 Antwort Letzte Antwort

                      26

                      Online

                      6.6k

                      Benutzer

                      6.1k

                      Themen

                      38.9k

                      Beiträge
                      undefined
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Kategorien
                      • Aktuell
                      • Tags
                      • Beliebt
                      • Benutzer
                      • Gruppen