На Хабре опубликовали блок-схему для распознавания кракозябр с исходниками схемы в zip-архиве. По иронии судьбы в первом комментарии засветился скриншот:
Так выглядит кириллическое имя файла внутри zip'а, созданного в Windows и распакованного в линуксе.
Я сам неоднократно сталкивался с подобным проявлением нетерпимости в мире кодировок. Решил потратить пару минут на изучение вопроса в гугле.
На opennet'е хорошо разжевали суть проблемы:
Имена файлов в ZIP-архиве хранятся в кодировке DOS, соответствующей языку локали. В Windows эта кодировка может быть получена соответствующей функцией, а для прочих систем авторы Info-ZIP решили не возиться и схалтурили — сделали безальтернативное преобразование cp850 → cp1252.
Там же, в комментариях, указали ссылку на PPA с пропатченными пакетами zip, unzip и p7zip. Без промедлений побежал избавляться от кракозябр в Ubuntu, подключив репозиторий:sudo add-apt-repository ppa:frol/zip-i18n
sudo aptitude update && sudo aptitude safe-upgrade
Как...
[content]