tvmovie2vdr mit UTF-8

  • mhmm --- langsam zweifle ich an meinem Verstand :)


    habe die 3 Patches von MSchiff angewandt. Anschließend alle Downloadfiles gelöscht und tvm2vdr gestartet.


    Manches haut nun hin, manches nicht. 2 Beispiele angehängt. Die selbe Sendung einmal in xxv, einmal in vdradmin ...


    Und nun ? :(

  • mit den 3 patches bekomme ich alles richtig, bis auf das hochkomma (')


    aber ein weiteres Problem tut sich auf:
    der EPG-Text in den mit vdrconvert erzeugten DVD-Menüs sind total verhauen.


    ich nutze runvdr und /etc/sysconfig/vdr original von opensuse11,
    den VDR 1.6.0-1 selbst drüberkompiliert.


    im runvdr selbst ist keine explizite UTF-8 exportiert, denke das ist bei vdr 1.6 auch nicht mehr notwendig?

  • Hallo nochmal,


    Der Fehler liegt scheinbar in den XML-Dateien die aus dem Netz kommen. Dieses Apostroph ist kein 7- oder 8-Bit Zeichen, sondern ein Multibyte-Zeichen: hex: e2 80 99


    Und somit ist es definitiv kein normales Hochkomma wie auf Shift-# wie man vermuten könnte.


    Dort befinden sich also UTF-8 Multibyte-Zeichen in den Dateien, die dort definitiv nicht hingehören.


    Alles was mir dazu einfällt ist: Es muss etwas code in tvm2vdr geben, der solche Fehler fixt.


    Ein generischer Ansatz fällt mir dazu nicht ein. Ich denke es geht nur über statische fixups. Hoffentlich halten sich solche "bugs" in Zukunft dann in Grenzen.


    Hat jemand ne bessere Idee?


    Ich habe dazu in der /usr/share/vdr-addon-tvmovie2vdr/helperfunc in sub xmltvtranslate ab Zeile 498 mal folgendes eingefügt:


    # fixups for encoding bugs in xml source files
    # multibyte "’" -> "'"
    $line=~s/\xe2\x80\x99/'/g;


    Wenn man dann vdr stoppt, die epg.data löscht, vdr wieder startet und dann den tvm2vdr neu laufen läßt (als vdr user!), sieht das Hochkomma wieder richtig aus.


    Meine komplette neue helperfunc ist anbei (mit gzip gepackt um encoding Problemen beim Transport zu entgehen ;-))


    Die Datei einfach auf den VDR kopieren und dann so installieren:


    (als root):


    vdr:~# gunzip -c helperfunc.gz > /usr/share/vdr-addon-tvmovie2vdr/helperfunc


    Gruß
    -Marc

  • Es ist nicht nur der Apostroph, sondern auch Sonderzeichen wie das betroffen. Ich habe mir den Patch von mschiff genauer angeschaut und das "Problem gefunden". In der tvmoviefetch wird $event nach UTF-8 konvertiert. Allerdings geschieht dies vor dem Ersetzen diverser "Sonderzeichen".


    Wenn man die UTF-8 Konvertierungszeile hinter die Ersetzungsregeln der Zeichen verschiebt, klappt es auch mit dem ' oder dem


    Ich habe den "Patch für den Patch" hier angehangen. Erst die drei Patches von mschiff einspielen und dann meinen.


    Viel Spaß damit!


    Grüße
    Michi

  • mschiff: Hehe, kurz bevor du geantwortet hast, hab ich meinen Patch noch getestet und hier angefangen den Text zu verfassen :D Deinen Post habe ich erst nach meinem gelesen.


    Ich hab mir das EPG ein bisserl durchgeschaut und konnte mit meinem Patch keine fehlerhaften Zeichen mehr entdecken.


    Grüße
    Michi

    Wohnzimmer: Techsolo TC-400 :: ASUS P5N7A-VM :: Intel Core 2 Duo E7400 :: GeForce 9300 onboard :: vdr 1.7.15 e-tobi ::
    In Rente: Pimped Scenic 600 (Bilder und Aufbau) :: PIII 600Mhz :: Hauppauge Nexus-S 2.1 4MB :: vdr 1.5.2 e-tobi ::


    "Wer denkt, dass Volksvertreter das Volk vertreten, der glaubt auch, dass Zitronenfalter Zitronen falten." Zeit zum ändern!

  • Oh, gut gesehn, danke für den fix!


    Allerdings frage ich mich gerade ob man denn wohl überhaupt noch die einzelnen Zeichen umwandeln muss wenn wir jetzt eh UTF8 verwenden?


    Allerdings wäre das für diese Zeichen sehr "hackish", denn man müsste die Zeichen nachwievor behandeln, weil sie ja fälschlicherweise in den XML-Files auftauchen...


    Gruß
    -Marc

  • sigiberlin:


    Vielleicht solltest du nochmal von vorne anfangen....


    * Ist dein System wirklich auf UTF-8 eingestellt?
    * tvm2vdr nochmal ganz neu installieren und dann die Patches anwenden (Die drei, die ich zusammen gepostet hab und das von skiller2k1 von gestern abend.
    * vdr stoppen
    * epg.data löschen
    * vdr starten
    * tvm2vdr laufen lassen (als vdr user!)


    Gruß
    -Marc

  • Zitat

    Original von sigiberlin
    danke für die Patches. ich hab allerdings immer noch keine Umlaute ... what the f..k is this ?


    Wie sieht denn dein Setup aus? Ich habe vdr-1.6.0 und starte ihn mit VDR_LANG="de_DE.utf8".


    Grüße
    Michi

    Wohnzimmer: Techsolo TC-400 :: ASUS P5N7A-VM :: Intel Core 2 Duo E7400 :: GeForce 9300 onboard :: vdr 1.7.15 e-tobi ::
    In Rente: Pimped Scenic 600 (Bilder und Aufbau) :: PIII 600Mhz :: Hauppauge Nexus-S 2.1 4MB :: vdr 1.5.2 e-tobi ::


    "Wer denkt, dass Volksvertreter das Volk vertreten, der glaubt auch, dass Zitronenfalter Zitronen falten." Zeit zum ändern!

  • hab tvm2vdr schon mehrmals neu aufgespielt ... im Moment ist die ungepatchte Version drauf, und da sind die EPG-Daten noch am besten zu lesen ...


    meine /etc/init.d/runvdr beinhaltet


    export LANG = "de_DE.UTF-8"
    export VDR_LANG = "de_DE.UTF-8"


    ich hatte da auch schon mal "de_DE.UTF8" zu stehen, also ohne Bindestrich. das selbe Ergebnis ...

  • Zitat

    Original von sigiberlin
    ich hatte da auch schon mal "de_DE.UTF8" zu stehen, also ohne Bindestrich. das selbe Ergebnis ...


    Was sagt denn locale -a? Stimmt das mit dem UTF Eintrag davon überein?


    Grüße
    Michi

    Wohnzimmer: Techsolo TC-400 :: ASUS P5N7A-VM :: Intel Core 2 Duo E7400 :: GeForce 9300 onboard :: vdr 1.7.15 e-tobi ::
    In Rente: Pimped Scenic 600 (Bilder und Aufbau) :: PIII 600Mhz :: Hauppauge Nexus-S 2.1 4MB :: vdr 1.5.2 e-tobi ::


    "Wer denkt, dass Volksvertreter das Volk vertreten, der glaubt auch, dass Zitronenfalter Zitronen falten." Zeit zum ändern!

  • Zitat

    Original von sigiberlin
    de_DE.utf8


    Und VDR sagt beim starten sowas wie "vdr: [16427] codeset is 'UTF-8' - known"? Trage die Zeile mal korrekt so in deine runvdr ein wie es locale -a ausspuckt.


    Grüße
    Michi

    Wohnzimmer: Techsolo TC-400 :: ASUS P5N7A-VM :: Intel Core 2 Duo E7400 :: GeForce 9300 onboard :: vdr 1.7.15 e-tobi ::
    In Rente: Pimped Scenic 600 (Bilder und Aufbau) :: PIII 600Mhz :: Hauppauge Nexus-S 2.1 4MB :: vdr 1.5.2 e-tobi ::


    "Wer denkt, dass Volksvertreter das Volk vertreten, der glaubt auch, dass Zitronenfalter Zitronen falten." Zeit zum ändern!

  • Zitat

    Original von sigiberlin
    ok, und dann aber die gepatchte tvm2vdr-Version, oder ? is mal jemand so nett und schickt mir seine (ohne die channels_wanted etc)


    Ich kann dir nur die debian-modifizierte tvmovie2vdr Version geben. Die hat diverse Pfad-Anpassungen in der tvm2vdr (Einfach an dein System anpassen). Hab sie mal angehangen. Ist gepatcht mit den mschiff Änderungen und meinem Apostroph-Fix.


    Grüße
    Michi

  • also im OSM und in vdradmin siehts schon mal spitze aus ! xxv lädt grade neu, da weiß ichs noch nicht ...



    Danke !!!!



    edit:


    in xxv siehts noch nicht so rosig aus. Hab mal ein Beispiel angehängt ..

  • Zitat

    Original von sigiberlin
    in xxv siehts noch nicht so rosig aus. Hab mal ein Beispiel angehängt ..


    Scheint dein Problem von hier zu sein. Bei mir passt es sowohl im OSD, als auch im Live-Plugin perfekt.


    Grüße
    Michi


    EDIT: Im VDR-Admin mit UTF-8 Einstellung in den Optionen auch keinerlei Probleme.

    Wohnzimmer: Techsolo TC-400 :: ASUS P5N7A-VM :: Intel Core 2 Duo E7400 :: GeForce 9300 onboard :: vdr 1.7.15 e-tobi ::
    In Rente: Pimped Scenic 600 (Bilder und Aufbau) :: PIII 600Mhz :: Hauppauge Nexus-S 2.1 4MB :: vdr 1.5.2 e-tobi ::


    "Wer denkt, dass Volksvertreter das Volk vertreten, der glaubt auch, dass Zitronenfalter Zitronen falten." Zeit zum ändern!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!