Распаковка zip архивов с русскими названиями файлов в Dolphin



[ruswolf@arch-wolf Загрузки]$ runzip Гейман\ Нил.\ Коралайн\ -\ royallib.com.fb2.zip
Гейман Нил. Коралайн - royallib.com.fb2.zip contains 3 files
  Гейман Нил. Коралайн - royallib.ru.fb2: FIXED (CP866 -> UTF-8)
  Перейти на сайт RoyalLib.Ru.url: FIXED (CP866 -> UTF-8)
  Оставить отзыв о книге.url: FIXED (CP866 -> UTF-8)
Это изжившая (и противная) cp866 - при желании, используя специальную утилиту, можно (одним махом) сменить только названия файлов, но придется распаковать архив.
ls ~/TEMP/1/t
'Гейман Нил. Коралайн - royallib.ru.fb2' 'Оставить отзыв о книге.url' 'Перейти на сайт RoyalLib.Ru.url'
PS ... не точно выразился - сменить не названия файлов, а кодировку названий файлов.
Ошибки не исчезают с опытом - они просто умнеют
vasek
Это изжившая (и противная) cp866
Эта изжившая и противная, к сожалению, не хочет изживаться из форточных упаковщиков и распаковщиков, потому для совместимости требуются средства распаковки (как минимум) с поддержкой выбора/определения кодировки.

Если ваши ГУИ (или если вы вообще не пользуетесь ГУИ для этих целей:) используют для распаковки/упаковки ZIP пакеты zip и unzip, проблему (полностью прозрачно и незаметно) решают zip-natspec и unzip-natspec.

Если ваши ГУИ используют какие-то другие способы работы с архивами – или ищите другие решения, или другие ГУИ, или приручайте те, что есть, что ещё тут можно сказать.
Natrio
Если ваши ГУИ используют какие-то другие способы работы с архивами – или ищите другие решения, или другие ГУИ, или приручайте те, что есть, что ещё тут можно сказать.
гуи используют стандартные методы работы с zip. а natspec не стандартное решение. (нет его в оф.репах)
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
гуи используют стандартные методы работы с zip. а natspec не стандартное решение
Используется не natspec, а консольные zip и unzip.
То, что они (стандартные!) заменены одноимёнными, но пропатченными версиями с поддержкой кодировки, и есть прозрачное решение проблемы.
libnatspec – зависимость только этих двух пакетов, цепляние его к третьим программам не требуется.

Итак, ещё раз: ГУИ, которые используют для упаковки-распаковки формата ZIP стандартные средства в виде zip и unzip, позволяют решить проблему вышеуказанным способом.
ГУИ, которые используют другие средства – требуют другим методов решения.

К сожалению, стандартных средств для linux, поддерживающих национальные кодировки в zip-архивах, мне не известно, если вы знаете – поделитесь :)

На момент, когда я изучал этот вопрос (в 2010 году) их точно не было. По такому случаю я нашел и слегка доработал патчи от AltLinux, реализующие такую возможность в стандартных zip и unzip через их разработку libnatspec, и даже отправил статью с анализом и решением на OpenNet.
Впоследствии, я перешел на Арч и оформил своё решение в виде пакетов в AUR.

На тот момент, все известные мне ГУИ с поддержкой zip-архивов использовали именно эти утилиты, однако со временем, стали появляться новые, использующие какие-то библиотеки или встроенные средства, на форточный манер. Сам я ими не пользуюсь, и потому поиском решений для них не занимался. Если есть желание – можете попробовать.
@RusWolf, @vasek, я может непонятно свой вопрос сформулировал, из консоли unzip (который из пакета unzip-natspec, спасибо Natrio!) прекрасно распаковывает архивы с сайта royalib.com, проблема возникает при распаковке в Dolphin, вопрос как раз и заключается в том как его настроить использовать стандартные zip/unzip.
Natrio, да, интересная получается ситуация, zip архивы запакованные под линем работают на двух системах.
zip архивы запакованные под виндой четырьмя разными архиваторами, под линем не работают. (((

diraria, в дельфине кликаешь правой клавишей мыши на архиве, в контекстном меню выбираешь "свойства" -> параметры типа файла -> вкладка "общие" -> фрэйм "приоритет приложений" -> кнопка "добавить", дальше в поле вписываешь unzip, и сохраняешь.
использование:
кликаешь правой клавишей мыши на архиве, в контекстном меню выбираешь "открыть с помощью" -> unzip.
все, файл распакован.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
diraria, в дельфине кликаешь правой клавишей мыши на архиве, в контекстном меню выбираешь "свойства" -> параметры типа файла -> вкладка "общие" -> фрэйм "приоритет приложений" -> кнопка "добавить", дальше в поле вписываешь unzip, и сохраняешь.
использование:
кликаешь правой клавишей мыши на архиве, в контекстном меню выбираешь "открыть с помощью" -> unzip.
все, файл распакован.
Спасибо большое!
vasek
используя специальную утилиту, можно (одним махом) сменить только названия файлов, но придется распаковать архив.

Вроде runzip меняет названия без распаковки.

Convert filenames inside ZIP archives from autodetected older Russian encodings (koi8-r, koi8-u, cp866, windows-1251) to UTF-8
sirocco
Вроде runzip меняет названия без распаковки.
Спасибо за наводку - не знал, что runzip может это. Встречается очень редко (обычно при вытаскивании из базы старых виндовых файлов) и обычно распаковывал, а потом использовал convmv.
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.