Работа с русскими именами файлов в ZIP и UNZIP под *nix

14:23
Одна из неожиданных проблем, возникающих при обмене файлами с пользователями
Windows - странное поведение ZIP-архивов. Казалось бы, достаточно правильно
настроить кодировки... Не тут-то было!

Для текстовых файлов достаточно найти редактор с выбором кодировки, для дисков
можно указать кодировку при монтировании, более "продвинутые" форматы архивов
(RAR, 7zip) тоже как-то решают эту проблему; и только ZIP, самый
распространённый и "самый совместимый" архиватор, почему-то неожиданно
оказывается несовместимым в принципе, стоит именам файлов выйти за пределы ASCII.

Есть мнение, что в архивы ZIP имена файлов пишутся в кодировке файловой
системы, и дескать, отсюда и проблемы - в Windows одна кодировка, а в Linux
другая. И виноват в том устаревший архивный формат и сделать с этим ничего
нельзя, а если очень хочется - переименовывать распакованные файлы скриптами и
прочими костылями. Что ж, попробуем.