it-консалтинг и аутсорсинг
что мы делаем контакты блог

Проблема с именами файлов в ZIP архивах

Наташа Персиянова 23.03.2011

Apple уже почти выпустила новую версию Mac OS X, а вот и я со своим userland.


Господа админы! Как вы решаете вопрос с распаковкой на ПК архивов ZIP, созданных в Mac OS X?
Я имею в виду имена файлов на русском, превращающиеся на ПК в ¦Т¦¬¦-¦¦¦¦¦-¦-TЛ¦.doc?


У моих коллег в арсенале в разное время было несколько способов –

1. Использовать автоматизацию, транслитерирующую имена файлов и затем создающую архив (AppleScript, do shell script).

2. Использовать другие архиваторы вместо системных средств (iArchiver($$$), BetterZip($$$) – все они, если присмотреться к содержимому их пакетов, стоят на плечах гигантов (а конкретнее Игоря Павлова) и используют p7zip. Можно даже воспользоваться командной строкой (7z a -tzip persix.zip pics). Такие архивы корректно распаковываются на ПК WinRar($$$), WinZip($$$) (сюрприз, это ПО компании Corel), 7z. То есть, требуются действия от получателей пользователей Windows.

3. Использовать другие архиваторы вместо системного и, до кучи, другой формат. Например, SimplyRar (не самое свежее и элегантное ПО). Опять-таки, потребуются телодвижения от пользователей Windows (установка 7z или WinRar($$$) для распаковки). Или, даже StuffIt($$$) на Мак и ПК.

4. Использовать Zipeg на ПК (а может быть и другие разархиваторы для Windows), которые корректно распаковывают архив zip, созданный системными средствами Mac OS X. И снова требуются действия от получателей пользователей Windows.

Может быть есть более элегантные и/или хакерские способы?
Секретное слово в plist?
Замена системной библиотеки грязными руками?

  • А банальное в голову не приходило: зачем использовать кириллицу?

  • Alex M.

    Типичный совет яблочника, да. Были бы проблемы с цифрами – совет был бы не использовать цифры.

  • Нам бы не помешала теоретическая часть – рассказ про формат zip, про поддержку UTF-8, про компоненту ZIP в составе Windows.

    Из “Где они сейчас”
    Полез в Wikipedia и нагуглил судьбы создателей форматов ARC, ZIP и ARJ.
    ARC (Thom Henderson) – сидит на берегу Чесапикского залива, и является провайдером на несколько десятков соседей.
    ZIP (Phil Katz) – проблемы с алкоголем, вождение в пьяном виде, аресты, смерть в 37 лет.
    ARJ (Robert K. Jung) – весьма набожный человек, все еще продает ARJ и JAR.

    И даже посмотрел кино про каменный век (на англ.) – http://quicksilverscreen.com/watch?video=46195

  • emii

    Посмотрел еще LHA (LHArc и пр.) – Haruyasu Yoshizaki (Yoshi) – врач на Хоккайдо по внутренним болезням, главврач в больнице. А программирование это хобби.

  • Александр Ляшев

    Я так же как и вы столкнулся с проблемой кодировки в архивах zip
    Вот что я сделал, скачал архиватор CleanArchvier 3.0a6, забираем его здесь http://www.sopht.jp/en/cleanarchiver/downloads.html
    в этом архиваторе самое главное то что можно изменить это кодовую страницу при архивировании, по умолчанию она там CP437 (Windows), нужно ручками туда вписать CP866, остальные настойки по вашему желанию и нажать Save as Default.
    Далее переносим любой файл или папку с русскими именами на иконку этого архиватора в доке и архив полностью готов к передаче windows-пользователям, ни каких “каракулей” не будет! Проверено 100%! А далее можно достаточно просто сделать архивирование по гарячим клавишам из Finder с помощью Automator, тогда и иконку из дока можно убрать.

  • Алексей

    Есть еще такой архиватор Keka (так кажись). Делает зипы и вроде проблем небыло. Название помню плохо, а иконка у него – что-то типа ракушки коричневой ;)

  • Отец Фидо Том Дженнингс тоже доставил )

  • Игорь Тараник

    Вот статья проливающая свет на проблемы с кодировкой имен zip архивов в windows и отличных от нее систем: http://www.opennet.ru/tips/2494_zip_rus_patch.shtml
    Или в оригинале: http://www.linuxfromscratch.org/blfs/view/cvs/general/unzip.html