Ich will im Perl-Script von tvmovie2vdr die Titel einiger Serien ändern bzw. die unterschiedlichen Seriennamen verschiedener Sender vereinheitlichen. Sonst funktioniert das mit dem Wiederholung vermeiden im epgsearch-Plugin nicht.
Leider habe ich nicht sonderlich viel Ahnung von Perl. Kurz bevor in /usr/bin/tvm2vdr die Daten nach epg.data geschrieben werden [ WriteEPG("T $tline"); ] habe ich einige Textersetzungen eingefügt, zum Beispiel:
Leider gibt es dabei zwei Probleme:
1.)
Im obigen Beispiel wird aus Tagesschau jetzt "Schnöde Nachrichten", das ö wird also nicht korrekt übersetzt. Unbehandelte Daten werden korrekt auch mit Umlauten ins epg geschrieben.
2.)
Auch wenn das Pattern oder die Ersetzung keine Umlaute u.ä. enthalten hagelt es Fehler nach dem Muster:
Malformed UTF-8 character (unexpected end of string) in substitution (s///) at /usr/bin/tvm2vdr line 244, <GEN104> line 56.
Malformed UTF-8 character (unexpected end of string) in substitution (s///) at /usr/bin/tvm2vdr line 245, <GEN104> line 56.
Malformed UTF-8 character (unexpected end of string) in substitution (s///) at /usr/bin/tvm2vdr line 246, <GEN104> line 56.
Malformed UTF-8 character (unexpected end of string) in substitution (s///) at /usr/bin/tvm2vdr line 247, <GEN104> line 56.
Beim googlen bin ich auf so Sachen wie utf8::encode oder utf8:upgrade gestoßen, weiß aber nicht so recht, wie ich das in die substitution einbauen soll, ohne für jeden Serientitel drei Perlzeilen zu produzieren.
locales und vdr_lang stehen jeweils auf: de_DE.ISO-8859-15@euro
perl ist Version 5.8.8