podcast: über PHP eingelesene Umlaute klappen nicht...

simusch

simusch

Aktives Mitglied
Thread Starter
Dabei seit
27.09.2004
Beiträge
2.030
Reaktionspunkte
219
hallo

ich verzweifle wieder einmal fast...

ich möchte einen Podcast erstellen, zusammengesetzt aus MP3-Dateien, die in einem Ordner liegen.

Eigentlich klappt alles wunderbar, nur haben die Titel der MP3's zum Teil Umlaute und nicht zugelassene Sonderzeichen (ä,ö,ü,:,-,) drin.

Da scheitert irgendwie die ganze Datei beim Validator.

hat mir jemand einen Tipp, wie ich das angehen muss?
Denn z.b. über eregi_replace komme ich auch nicht weiter, da immer wieder mal ein anderes Zeichen drin sein könnte, welches nicht klappt.

Ich hab die XML-Datei als UTF-8 codiert. die Umlaute, welche direkt in der xml-datei sind, machen keine Probleme, nur die, welche über PHP eingelesen werden....

Hülfee :(
 
wohl niemand da, der helfen kann...

wenn ich eine mp3-datei lade ohne Umlaute, klappt alles, sobald einer drin ist, geht nix mehr :(
irgendwie sollte das doch sicher möglich sein?
 
es gibt eine funktion die es umwandeln kann ... kommt sicher noch ..

aber

das letzte was sein sollte ist das mp3 datein umlaute drinnen haben
 
nana... in iTunes erwartest du ja auch, dass Umlaute im Titel sein können.. natürlich nicht im Dateiname.

Und andere Podcasts funktionieren auch mit Umlauten, aber wahrscheinlich nicht über PHP zusammengestellt
 
womit stellst du die denn zusammen und was liest du womit wo aus?
irgendwie fehlen da jede menge informationen, um dir zu helfen...
 
so ungefähr:

PHP:
<?php
    header('Content-type: application/xml; charset=utf-8');

//id3-tag class einbinden


//Variablen definieren (podcast-titel, ...)


//xml-datei erstellen (header-bereich, ohne eintraege, codierung utf-8)


//mp3-dateien aus unterordner einlesen
	$fileDir = opendir($dir);
	while (false !== ($file = readdir($fileDir)))
	{
		$thisFilePath = $dir.$file;
        if(is_file($thisFilePath) && strrchr($thisFilePath, '.') == ".mp3")
		{
                  $fileinfo = $getID3->analyze($dir.$file);

                  //Titel aus mp3 auslesen
                  $file_titel = $fileinfo['tags']['id3v2']['title'][0];

                  //informationen ins XML eintragen
        }
    }

    // XML abschliessen

dies ist natürlich die aufs wesentliche gekürzte version ;)
 
hast du auch $getID3->encoding = 'UTF-8'; gesetzt? damit dir getID3 auch utf-8 gibt?
und schon mal mit mb_detect_encoding das encoding überprüft, um gegebenenfalls mit utf8_encode zu korrigieren?
 
danke :)

ich hab deinen beitrag erst jetzt gesehen, aber vor 1 stunde genau dies herausgefunden :)

habs mit utf8_encode() gemacht, klappt wunderbar :)

manchmal sind die lösungen so nahe...
 
Zurück
Oben Unten