utf8 und externes Laden von EPG

  • Moin alle,


    ich wollte mal (nach sehr langer Zeit) eine Neuauflage von tvm2vdr anfangen, und habe mir dazu mal die bestehenden Probleme genauer angeschaut. Eines der grundlegenden Probleme scheint mir das Umlautproblem zu sein. Dazu folgende Überlegungen und Tests, um das Problem mal systematisch anzugehen.


    vdr (1.7.x) starte ich mit

    Code
    1. export VDR_CHARSET_OVERRIDE=UTF-8
    2. export VDR_LANG=de_DE.UTF-8
    3. export LANG=de_DE.UTF-8


    im syslog meint vdr dazu:

    Code
    1. May 24 14:43:20 master vdr: [3511] codeset is 'UTF-8' - known


    8) - Soweit scheint im VDR-Bereich also alles in Ordnung zu sein.


    Weitere Überlegungen und abzuhakende Punkte:


    8) - Geladen wird das EPG von irgendwoher, woher ist erstmal zweitrangig. Das encoding muss korrekt erkannt werden und mit decode() korrekt in die perlinterne Darstellung gebracht werden - soweit kein Problem.


    8) - EPG muss in einer Unicode-Shell via print korrekt darstellbar sein. Dazu stelle ich in putty als encoding UTF-8 ein. Weiterhin steht im perl source

    Code
    1. binmode STDOUT, ":utf8";
    2. use utf8;

    Ein Test stellt die Umlaute und auch polnische oder russische Zeichen korrekt dar - auch kein Problem.


    8) - EPG soll via svdrp an den vdr gesendet werden. Dazu habe ich aus der SVDRP.pm das use bytes und no bytes entfernt (muss ja raus!). Ein anschließender Test zeigt korrekte Umlaute im OSD - auch in Ordnung.


    X( - EPG soll in vdradmin korrekt zu sehen sein. Obwohl das OSD des VDR die Umlaute korrekt darstellt, sind sie nicht korrekt im vdradmin zu sehen. Getestet mit vdradmin-am-3.6.7, frisch ausgepackt und die Sprache auf de_DE.UTF-8 gestellt. Die ausgelieferten Webseiten enthalten "<meta http-equiv="content-type" content="text/html;charset=UTF-8" />", aber selbst das Menü von vdradmin hat defekte Umlaute. Da fehlt mir gerade ein Idee zu.


    X( - ich will EPG auch offline in eine Datei schreiben. Dazu öffne ich das Filehandle mit

    Code
    1. :encoding(utf8)

    Damit sollten alle Zeichen bei der Ausgabe UTF8-kodiert werden. Werden sie auch, bis auf das ß. Da weiß ich auch gerade keinen Rat.


    Hat zu den beiden ungelösten Problemen jemand eine Idee?


    Vielen Dank und schöne Grüße,
    macfly.

    VDR(Via Epia M-10000, 512MB, 2xNexus-s, 120GB&160GB&160GB Samsung SpinPoint, NEC 1300 DVD+-R/RW, IR-Kit, VFD Noritake)
    Gehäuse: Eigenbau (s.o.)

  • Quote

    Original von sn123py
    X( - EPG soll in vdradmin korrekt zu sehen sein. Obwohl das OSD des VDR die Umlaute korrekt darstellt, sind sie nicht korrekt im vdradmin zu sehen. Getestet mit vdradmin-am-3.6.7, frisch ausgepackt und die Sprache auf de_DE.UTF-8 gestellt. Die ausgelieferten Webseiten enthalten "<meta http-equiv="content-type" content="text/html;charset=UTF-8" />", aber selbst das Menü von vdradmin hat defekte Umlaute. Da fehlt mir gerade ein Idee zu.


    So, das Problem ist gelöst. Ich hatte, um nicht auf port 8001 zugreifen zu müssen, sondern hübsch unter :80/vdradmin/ die Weboberfläche zu bekommen, einen lighttpd dazwischengeschaltet, der als encoding im HTTP-Header iso-8859-1 fest verdrahtet vorgegeben hat.
    Direkt auf Port 8001 funktioniert UTF8 einwandfrei.


    bleibt das Problem mit der Datei.

    VDR(Via Epia M-10000, 512MB, 2xNexus-s, 120GB&160GB&160GB Samsung SpinPoint, NEC 1300 DVD+-R/RW, IR-Kit, VFD Noritake)
    Gehäuse: Eigenbau (s.o.)