Fehlende Umlaut aus PDS

Hier wird dir geholfen, wenn du TV-Daten anbieten möchtest.
Antworten
DanielRaap
Junior Member
Beiträge: 38
Registriert: 09 Sep 2007, 11:36

Fehlende Umlaut aus PDS

Beitrag von DanielRaap »

Hi,

ich hab ein PDS geschrieben, welcher eine Website parst. Mein Problem: Alle Umlaute sind im TV-Browser nur Kästen.

Das Kuriose: Die Website ist in latin1/ISO8896-1. Java wandelt das beim auslesen korrekt in UTF-8 um und speicher dies in der Textdatei. Diese ist bei meinem UTF-8 System auch korrekt auslesbar und auch der Webserver zeigt die "Statusseite" mit korrekten Umlauten an (Webserver liefert UTF-8).

Meine Frage: Warum kommt im TV-Browser kein Umlaut an?

Die Channelliste ist ja eine Textdatei (welche ich mir von Java generieren lasse). Da spielt evtl. noch Dateisystem und Datei lesen mit rein. Aber die Daten werden doch direkt innerhalb von Java aus der PDS-Klasse übergeben? Oder werden Dateien zwischengespeichert welche evtl. "falsch" kodiert sind??
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Die Channelliste muss Iso 8859-15 sein, glaub ich. Jedenfalls haben wir da ein Encoding fest verbaut zum Laden der Datei.
DanielRaap
Junior Member
Beiträge: 38
Registriert: 09 Sep 2007, 11:36

Beitrag von DanielRaap »

[gestrichen]
Ich werde trotzdem mal damit rumspielen das explizit als ISO8859-1 auszugeben.

Edit:
habs gefunden:

tvbrowserdataservice/file/ChannelList.java

Code: Alles auswählen

  public void readFromStream(InputStream stream, TvDataService dataService) throws IOException, FileFormatException {
    GZIPInputStream gIn = new GZIPInputStream(stream);
    BufferedReader reader = new BufferedReader(new InputStreamReader(gIn, "ISO-8859-15"));
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Hintergrund des ganzen: Java liest Dateien als Default immer in dem Encoding ein, in dem das OS läuft. Da wir aber nun Windows, Linux, Mac-Systeme haben, müssen wir uns auf ein Encoding einigen. Und das ist Iso 8859-15.
DanielRaap
Junior Member
Beiträge: 38
Registriert: 09 Sep 2007, 11:36

Beitrag von DanielRaap »

Für die Channelliste kann ich den Fehler mittlerweile auf das TVDataStarterKit eingrenzen:

Meine Channellist.txt ist ISO-8859-15 -> datamanager und mirrorupdater laufen lassen -> channellist.gz enthält falsch kodierte Datei -> im TVB sind Umlaut Sonderzeichenmüll.

[Edit: Die Datei direkt als gz auf den Webserver funktioniert!]

Daraus schliesse ich, dass die Datei (für das Starterkit) nicht ISO-8859-15 sein muss, sondern eine solche erstellt wird. Ich werde mal weiter forschen.
Antworten