Исправление кодировки в zip-архивах
Проблема совместимости кодировок существует давно, но побороться с ней до конца все еще не могут. Примером тому могут служить неверная кодировка mp3-тегов, кракозябры вместо сообщений в IM-клиентах (например, pidgin), а также неверная кодировка при распаковке zip-архивов, созданных в Windows. Что ж, решение первой проблемы обсуждалось в недавней статье, кодировку сообщений в IM-клиентах можно исправить либо патчами, либо выставлением в настройках кодировки "windows-1251", а что делать с архивами?
Тут вариантов несколько. Можно перейти в Windows (или попросить знакомого) распаковать zip-архив через winrar и запаковать, например, в rar. Можно установить пропатченные пакеты zip и unzip в Linux, правда найти эти пакеты последних версий не всегда легко. Есть еще один способ распаковки zip-архивов с правильной кодировкой - с помощью пакета fuze-zip и небольшого скрипта. Рассмотрим на примере Ubuntu (Linux Mint).
Установим fuze-zip:
sudo apt-get install fuse-zip
Теперь создадим директорию, в которую будут временно "монтироваться" наши zip-архивы:
mkdir ~/.ZIP
В любом текстовом редакторе создаем файл со следующим содержанием:
#! /bin/bash
fusermount -u ~/.ZIP
fuse-zip "$1" .ZIP -omodules=iconv,from_code=CP866,to_code=UTF8
nautilus ~/.ZIP
xrefresh -white
Сохранить этот скрипт можно под любым именем хоть в домашнюю директорию, хоть куда-либо еще, главное в свойствах файла не забыть сделать его исполняемым.
Теперь нужно назначить открытие zip-архивов с помощью данного скрипта.
После этого все zip-архивы, созданные в Windows, будут открываться с верной кодировкой, а работать с ними можно будет в режиме чтения и записи, то есть как будто у нас вместо архива обычная папка.
Подводные камни могут попадаться при использовании скрипта с архивами, созданными в самой Ubuntu, в этом случае можно написать другой скрипт без указания параметров кодировок.
Комментарии
# - Гость, 10.04.2012 в 10:57
зачем же такие велосипеды,можно же просто пропатчить unzip.
# - del, 10.04.2012 в 13:36, в ответ на комментарий
А Вы статью то прочитали или только заголовок? Процитирую тогда:
# - Гость, 06.05.2012 в 17:34, в ответ на комментарий
вообще-то легко
# - del, 06.05.2012 в 18:11, в ответ на комментарий
Рад за Вас.
# - Dmitriy Klyachkin, 16.10.2014 в 22:19
Ну чуть не поругались. А информация полезная.
Добавить комментарий