Thread unzip und Sonderzeichen in gepackten Datei-/Verzeichnisnamen
(14 answers)
Opened by frankes at 2009-04-29 17:51
Hallo murphy
Angezeigt bekomme ich die betroffenen Verzeichnissen und Dateien mit dem FTP-Client als auch mit den Perl Verzeichnis und Datei Operationen. Auch über Perl gestartete Shell Aufrufe liefern mir diese Dateien. Mit dem FTP Client komme ich in der Verzeichnistiefe bis zum ersten Datei oder Verzeichnis Eintrag mit Sonderzeichen, wobei die Sonderzeichen im Namen durch andere Sonderzeichen ersetzt sind. Ab da wird behauptet, dass das angezeigte Verzeichnis/Datei nicht existiert. Das File::Find Modul liefert mir witziger Weise auch Einträge in Verzeichnissen mit Sonderzeichen, ein Zugriff ist dennoch nicht möglich. Nochmals, dies gilt nur mit unzip entpackte Verzeichnisstrukturen und die Dateien/Verzeichnisse mit Sonderzeichen im Namen. Zugriffe werden dann mit dem Hinweis, dass diese Datei nicht existiert verweigert. - Gleiches gilt für rekursives Löschen, da die Einträge mit Sonderzeichen nicht gelöscht werden können. Warum Solaris 10 solche Probleme mit diesen Sonderzeichen in Verzeichnis- und Dateinamen hat kann ich nicht nachvollziehen. Entsprechende ZIP Files (dazu unten mehr) liefern auf einem Linux System mit UTF8 die gleichen Kodierungsfehler, ein Zugriff auf die Dateien und Operationen sind aber problemlos möglich. Meine aber mich noch an Linux Systeme zu erinnern, die ohne UTF8 Standardzeichensatz ähnliche Probleme zeigten. - Daher auch mein Tipp Richtung Charset Probleme. Mehr Informationen kann ich zum Solaris Server leider nicht geben, da mir entsprechende Rechte wie direkten Zugriff auf die Shell (ausgenommen perl system Aufrufe) fehlen. Weiter gekommen bin ich dagegen mit "unzip" und den entsprechenden Archiven. Diese ersetzten Sonderzeichen bekomme ich über die Archive. Laut zipinfo handelt es sich dabei um für FAT gepackte Archive. Da in FAT Archiven kein UTF8 Zeichensatz verwendet wird, werden die Sonderzeichen entsprechend umgewandelt. Zipinfo zeigt die problematischen Zeichen in der Informationsausgabe zu den ZIP Files bereits an. Bei neueren unzip Versionen kann man angeben, welcher Zeichensatz im Archiv verwendet wurde. Leider ist das verwendete unzip auf dem Server um einen Versionspunkt zu alt. Die Probleme sind bei den zip/unzip Entwicklern bekannt und werden wohl vollens behoben. In den kommenden Tagen werde ich versuchen, das Cpan Modul Archive::zip Archive::zip auf dem Server zum Laufen zu bringen. Auf dem ersten Blick könnte das funktionieren, da die Module, auf die Archive::zip zurückgreift vorhanden sind und das kopieren des Perl-Modul-Codes reichen könnte. Vielleicht komme ich dann mit dem Tipp von Jean Benoit ( http://tracker.moodle.org/browse/MDL-6733 ) weiter. Über Tipps und Vorschläge freue ich mich nach wie vor. Auch suche sich nach weiteren Informationen zu ZIP Archiven allgemein. ZB. die Bedeutung und Auswirkungen von den angezeigten Packetinformationen wie fat/unix (kann man sich noch zusammenreimen) oder auch Zahlen die über zipinfo mit ausgegeben werden. Zu den ausgegebenen Archiv-Informationen mit problematischen ZIP Archiven werde ich von zuhause aus mal Beispiele einstellen. - Vielleicht kennt sich ja jemand mit den angegebenen Informationen aus. Danke. |