Το πρόβλημα είναι ότι όταν τα Windows της Microsoft φτιάχνουν ένα zip μετατρέπουν τα ελληνικά ονόματα των αρχείων στην DOS κωδικοσελίδα cp737, η οποία είναι πλέον παρωχημένη και δεν έχει υποστήριξη στα περισσότερα άλλα λειτουργικά συστήματα. Ακόμα χειρότερα, το unzip επειδή δεν κατανοεί την cp737, επιχειρεί την μετατροπή των χαρακτήρων σε latin-1 δημιουργώντας μεγαλύτερα προβλήματα.
Το καλύτερο που μπορούμε να κάνουμε αυτή την στιγμή είναι να εγκαταστήσουμε ένα command-line πρόγραμμα, το unzip, τροποποιημένο, ώστε να μπορεί να σώζει τα αρχεία στην κωδικοσελίδα iso-8859-7. Αν το σύστημά σας χρησιμοποιεί utf8, όπως όλα τα σύγχρονα συστήματα, θα απαιτείται πάντα μια επιπλέον τροποποίηση με το πρόγραμμα convmv το οποίο μπορείτε να το εγκαταστήσετε εύκολα από τα εργαλεία του λειτουργικού σας συστήματος.
(α) Δεν συνίσταται να αντικαταστήσετε το unzip του συστήματός σας με το τροποποιημένο.
(β) Δεν υπάρχει μέχρι στιγμής τρόπος να δουλέψουν τα γραφικά εργαλεία, όπως το file-roller του Gnome και το ark του KDE.
Κατεβάστε τον τροποποιημένο κώδικα του unzip από εδώ.
Ανοίξτε το αρχείο με
tar -xzvf unzip-pathced.tar.gz
Μπείτε στον κατάλογο με
cd unzip-pathced/unzip-5.52-patched/
Κάντε compile το πρόγραμμα με
make -f unix/Makefile LOCAL_UNZIP=-D_FILE_OFFSET_BITS=64 linux
Αφού
τελειώσει, ως root, τρέξτε
make prefix=/usr/local/unzip-patched/ install
Πάρτε το ακόλουθο πρόχειρο script (αν κανείς μπορεί να το κάνει καλύτερο θα ήταν χρήσιμο), σώστε το στον κατάλογο /usr/local/bin/
και
κάντε το εκτελέσιμο:
Η εγκατάσταση είναι έτοιμη. Μπορείτε να δοκιμάσετε το άνοιγμα με
grunzip -t file.zip
ή να το ανοίξετε με
grunzip file.zip
Το script θα σας ενημερώσει πώς να χρησιμοποιήσετε την convmv για μετατροπή σε utf8, αν χρειάζεται.
Συμπέρασμα: Μην χρησιμοποιείτε zip. Προτιμήστε την tar ή την rar. Η tar είναι μάλλον το πιο εξελιγμένο πρόγραμμα δημιουργίας archives.
Αντώνης Τσολομύτης.
30 Οκτωβρίου 2008.