Thread Konvertieren: Von "ich würde gern wissen was Du bist" nach utf-8 (29 answers)
Opened by cbxk1xg at 2011-07-26 22:33

cbxk1xg
 2011-07-26 22:33
#150777 #150777
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Hallo!

Ich quäle mich hier seit Stunden mit einem doofen Problem. Nachdem mein Script das Einlesen der Verzeichnisse und Dateien in utf-8 problemlos beherrscht, stehe ich vor einem noch größeren Problem. Bei den Dateien handelt es sich um MP3s. Diese wurden in den letzten 10 Jahren aus allen möglichen Quellen zusammengetragen. Daher wurden ID-Tags mal mit OSX, Linux, Windows geschrieben.

Jetzt versuche ich mit dem Modul MP3::Tag die ID-Tags auszulesen und (bei Bedarf) nach utf-8 zu wandeln und dann auszugeben. - Von ID-Tags schreiben will ich noch gar nicht anfangen. ;-)

Ich habe also, unter anderem, Unicode::CheckUTF8 probiert. Und bei nicht-utf-8 tags, einfach alles mit utf8::encode($string); nach utf-8 konvertiert. Leider erfolglos. Dabei wurden die tags noch krüppeliger.

Ich habe jetzt folgende Module durch: Encode; Encode::Guess; Encode::Detect::Detector; Unicode::String qw(utf8); Unicode::CheckUTF8 qw(is_utf8);
Leider alles etwas ernüchternd. Ich finde zu aller erst mal nicht heraus, um welchen Zeichensatz es sich handelt. Also brauche ich also auch nicht wild von unbekannt nach utf-8 konvertieren. - Hab's aber natürlich trotzdem probiert.

Ich habe mir mal mit Data::Dumper die Zeilen ausgeben lassen.
$VAR1 = "/media/MediaLibrary/Audio/Die Aerzte Test/Live In Berlin 08.08.2004/M\x{c3}\x{a4}nner haben kein Gehirn/06 Die Breite Masse 1.mp3|Die Breite Masse|6/24|Die \x{c4}rzte|M\x{e4}nner haben kein Gehirn|no commen!|2001|Pop-Punk";

Ich "Echtigkeit" sieht das dann so aus.
/media/MediaLibrary/Audio/Die Aerzte Test/Live In Berlin 08.08.2004/Männer haben kein Gehirn/06 Die Breite Masse 1.mp3|Die Breite Masse|6/24|Die �rzte|M�nner haben kein Gehirn|no comment|2001|Pop-Punk

Um mal zu gucken, was meinem System eigentlich so an Zeichensätzen bekannt ist, habe ich folgendes gemacht:
Code (perl): (dl )
my @all_encodings = Encode->encodings(":all");

in @all_encodings steht:
7bit-jis AdobeStandardEncoding AdobeSymbol AdobeZdingbat ascii ascii-ctrl big5-eten big5-hkscs cp1006 cp1026 cp1047 cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp37 cp424 cp437 cp500 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp858 cp860 cp861 cp862 cp863 cp864 cp865 cp866 cp869 cp874 cp875 cp932 cp936 cp949 cp950 dingbats euc-cn euc-jp euc-kr gb12345-raw gb2312-raw gsm0338 hp-roman8 hz iso-2022-jp iso-2022-jp-1 iso-2022-kr iso-8859-1 iso-8859-10 iso-8859-11 iso-8859-13 iso-8859-14 iso-8859-15 iso-8859-16 iso-8859-2 iso-8859-3 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7 iso-8859-8 iso-8859-9 iso-ir-165 jis0201-raw jis0208-raw jis0212-raw johab koi8-f koi8-r koi8-u ksc5601-raw MacArabic MacCentralEurRoman MacChineseSimp MacChineseTrad MacCroatian MacCyrillic MacDingbats MacFarsi MacGreek MacHebrew MacIcelandic MacJapanese MacKorean MacRoman MacRomanian MacRumanian MacSami MacSymbol MacThai MacTurkish MacUkrainian MIME-B MIME-Header MIME-Header-ISO_2022_JP MIME-Q nextstep null posix-bc shiftjis symbol UCS-2BE UCS-2LE UTF-16 UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE UTF-7 utf-8-strict utf8 viscii
Last edited: 2011-07-26 22:44:58 +0200 (CEST)

View full thread Konvertieren: Von "ich würde gern wissen was Du bist" nach utf-8