На Хабре опубликовали блок-схему для распознавания кракозябр с исходниками схемы в zip-архиве. По иронии судьбы в первом комментарии засветился скриншот:

Я сам неоднократно сталкивался с подобным проявлением нетерпимости в мире кодировок. Решил потратить пару минут на изучение вопроса в гугле.
На 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
Как вы, наверняка, догадываетесь, наступило безоговорочное счастье. Да здравствует интернационализация братских народов!
Источник: http://drakulavich.blogspot.com/2012/07/unzip-i18n.html
Altlinux кажется применяли костыль с кодировками ( mp3 тэги), они патчили либы отвечающие за чтение mp3. Вместо того, чтобы использовать проигрыватель прозрачно работающий с cp1251. Иногда за zip архивы с русскими файлами хочется поубивать.
ОтветитьУдалить