Home > php > Php mp3 id3 tag supports UTF-16

Php mp3 id3 tag supports UTF-16

November 5th, 2008

Βρήκα ένα php script για mp3 id3 tag, για να το χρησιμοποιήσω με μία ajax form, ώστε όταν επιλέγεις ένα αρχείο mp3 να σου εμφανίζει αυτόματα τα στοιχεία του τραγουδιού (όνομα, συγκρότημα κτλ). Όλα καλά ώσπου ανακάλυψα ότι μπορεί ένα αρχείο να έχει τα στοιχεία στο v2 του id3 σαν UTF-16. Αυτό το κατάλαβα όταν στην φόρμα αντί να εμφανιστούν χαρακτήρες εμφάνιζε κουτάκια, ενώ με ένα mp3 player εμφανιζόταν κανονικά. Τότε με ένα hex editor και συγκεκριμένα τον αγαπημένο μου WinHex ανακάλυψα ότι τα στοιχεία ήταν σε UTF-16. Έτσι πείραξα λίγο το script, και τώρα υποστηρίζει και UTF-16.

Στην γραμμή 244 αντί για:
$this->v2[$name] = substr($frame, 1);
έβαλα αυτό:
$this->v2[$name] = $encoding=="\01" ? iconv("UTF-16","UTF-8",substr($frame, 1)) : substr($frame, 1);

php , ,

blog comments powered by Disqus