Thread unzip und Sonderzeichen in gepackten Datei-/Verzeichnisnamen
(14 answers)
Opened by frankes at 2009-04-29 17:51
Nicht wirklich ein Perl Problem, aber vielleicht kann mir hier einer weiter helfen.
Mittels eines Formular-Uploads werden gezippte Verzeichnisse auf einen (in diesem Fall) Solaris Web-Server geladen, die dort über ein Perl Script entpackt werden. Mangels eines passenden Modul auf dem Server greife ich mit system auf unzip zurück um die ZIP Archive zu entpacken: Code: (dl
)
system ('/usr/bin/unzip','ziparchiv','-d','/Zielverzeichnis'); Probleme gab es nun, als ZIP Archive Dateien mit Sonderzeichen (konkret ä,ö,ü) im Datei-/ Verzeichnisnamen beinhalteten. Die ZIP-Archive werden hier unter Linux mit utf-8 als Systemzeichensatz erstellt. Nach dem entpacken auf dem Server werden Sonderzeichen in Dateinamen falsch codiert (sieht nach verwendeten Systemzeichensatz iso-8859-1 auf dem Server aus). Wäre ja nicht weiter tragisch, aber leider verschluckt sich der Solaris Server dermaßen an diesen Datei- und Verzeichnisnamen, dass er behauptet, diese würden nicht existieren. Sprich, die Verzeichnisse/Dateien werden mittels FTP-Client angezeigt können aber nicht bearbeitet werden. (Nach langem herumprobieren mit FTP-Client und Perl Scripten lies der Server sich wenigsten dazu überreden, diese 'nicht vorhandenen' Einträge zu löschen.) Frage: Suche nach einem Lösungsansatz (oder Lösung :-) ) wie ich erreichen kann, dass die entpackten Datei-/ und Verzeichnisnamen mittels 'unzip' im richtigen Zeichensatz des entpackenden Systems entpackt werden, oder Sonderzeichen in Verzeichnis-/Dateinamen vor dem Entpacken entschärft/ausgetauscht werden können. (... um ehrlich zu sein: Einfach eine Lösung, dass der Sch... funktioniert. ) Danke Last edited: 2009-04-29 17:52:30 +0200 (CEST) |