, aleks ( ?? ), 23:10, 03/03/2012 [^] [^^] [^^^] [ответить] | + / – | > C unzip 6.0.1 вы можете использовать опцию -O cp866 когда надо распаковать > файл, пожатый в windows. |
> В статье предлагается пропатчить zip и unzip, чтобы имена файлов всегда правильно > упаковывались и распаковывались.
Да вот это и есть костыли. ППЦ сделать костыли для костылей. Зачем?
Да, это полезный совет Всё верно Пока существуют винды и WinZip и InfoZip. большой текст свёрнут, показать
frol/+archive/zip-i18n Насчёт других дистров не знаю, но в случае чего можно поступить аналогично.
Ну-с, что кому кажется сложным или простым, тема вечная. По-моему, основывать решение на доп. библиотеке, которая угадывает (!) кодировку, это уже ошибка. А не угадает, тогда как? Или вот тут предлагали: то шелл-скрипты, то в два действия архив раскрывать.
В статье рассказывается о том, как упаковывать файлы в ZIP-архив с кодировкой имён в UTF-8.
Содержание
Описание проблемы
Иногда при открытии архивов ZIP в именах файлов написаны иероглифы. В основном, это случается при работе с архивами, упакованными в среде Windows, в других операционных системах, например Linux и Mac OS.
Вот как это выглядит:
Почему так
Такое получается из-за разных кодировок в разных операционных системах. А точнее из-за того, что Windows до сих пор использует свою WIN1251 , когда давно уже существует UTF-8 , созданная специально во избежание подобных проблем. ZIP, хоть и являясь старейшим и распространённейшим форматом архивов, испытывает проблемы с этим при переносе архива с платформы на платформу.
Не имеет значения, какую программу-архиватор вы используете - причина именно в самом формате ZIP . Для проверки мы упаковали тестовый архив с настройками по умолчанию сначала архиватором WinRAR, затем - архиватором 7-Zip. После чего просмотрели архивы в среде Mac OS - в обоих архивах кириллические имена файлов превратились в набор кракозябр.
Ну так может тогда не стоит использовать формат ZIP и паковать всё, например, в 7z ? В общем-то, это хорошая идея, но дело в том (и это единственная причина), что ZIP , как уже говорилось, является наиболее распространённым форматом архивов, потому чтобы большинство ваших пользователей смогло распаковать ваш архив, использовать рекомендуется именно его.
Что делать
Нужно как-то принудительно указать архиватору, что при кодировке имён файлов он должен использовать UTF-8.
И у архиватора 7-Zip есть такая возможность. Формат команды следующий:
7z.exe - имя исполняемого файла архиватора; a - команда архивации; -tzip - формат архива: ZIP; -mcu - именно эти ключи указывают на кодировку UTF-8; archname.zip - имя итогового файла архива; file2pack.txt - файлы для упаковки.
После создание архива такой командой кириллица в именах файлов сохраняется на всех платформах, использующих UTF-8 (то есть, практически везде):
Очередная медаль на грудь славного архиватора 7-Zip .
Как это автоматизировать
Понятное дело, что каждый раз лезть в командную строку и писать там команду архивации с необходимыми ключами очень сильно обламывает, ведь хочется, чтобы всё выполнялось в два клика мышью.
Конфигурация компьютера | | Процессор: Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz | Материнская плата: Gigabyte GA-P35-DS3L/S3L | Память: OCZ DDR2 800 2x1Gb | HDD: 1- ST3500320SV 500Gb SATA2, 2- HDT725040VLA360 400Gb SATA2 | Видеокарта: MSI GeForce NX8600GT-silent 256Mb | Звук: Интегрированная в материнку, Realtek ALC888 | Блок питания: 450 Вт | CD/DVD: ASUS DRW-1814BL | Монитор: LG Flatron F700B, 17'' | ОС: Windows XP Pro SP3, Windows Pro 7 Russian | Индекс производительности Windows: 5.5 | Прочее: A4-Tech KX-5MU, Logitech RX300 |
Скачал файл - архив Rar, распаковал 7-zip'ом, имена почти всех файлов и папок в архиве в виде "крякозябров" : ¦Ь¦-TАTГTБTП. 1 TБ¦¦¦¬¦-¦-. HQ , ¦Ь¦-TАTГTБTП. 1 TБ¦¦¦¬¦-¦- , 02 ¦н¦¬¦¬¦¬¦-¦+ 2. ¦Ф¦-¦-TА¦- ¦¬¦-¦¦¦-¦¬¦-¦-¦-TВTМ ¦- ¦Ч¦¦¦¬¦¦¦-TЛ¦¬¦Ж ¦¦¦-TА¦-¦+.mp3 и т.д.
Поиск в сети даёт ссылки только на Lunix ресурсы, у меня Windows 7 x32. P.S Может не в этом разделе создал тему, модераторы перенесите, если нужно.
Конфигурация компьютера | | Процессор: Intel(R) Core(TM) i5-2300 CPU @ 2.80GHz | Материнская плата: Gigabyte GA-H67MA-UD2H-B3 | Память: Hynix HMT325U6BFR8C-H9 2x2Gb + Hynix HMT351U6BFR8C-H9 2x4Gb | HDD: Hitachi HDS721010CLA332 | Звук: Realtek ALC889 | Блок питания: Asus 500W | CD/DVD: Optiarc DVD RW AD-7201S ATA Device | Монитор: Acer V243HQAbd | ОС: Windows 7 Ultimate x64 SP1 RTM (6.1.7601) | Индекс производительности Windows: 5,1 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
в какой кодировке и в какой ОС создавался этот архив ? Возможно, риторический вопрос. |
Вопрос не совсем риторический. Встречалось мне, что, например, на сервере организуют общую папку из-под Win Vista, используя кириллицу. Так с компьютеров с Win XP эта папка правильно не читалась, как раз были видны кракозябры. Зы: В чём дело было просто не в курсе, так как это не совсем моя проблема.
------- Ненавижу, когда все шагают строем - одинаково стриженые, одинаково одетые, с одинаковыми мыслями в одинаково пустых головах. (С) Кий
в какой кодировке и в какой ОС создавался этот архив ? » |
это вы нас спрашиваете?
это логичнее спросить там, где вы это скачали. там же вы можете поинтересоваться списком имён файлов в архиве.
предположительно речь идёт о двубайтной кодировке (unicode) в которой представлены какие то восточно азиатские (японские? китайские?) иероглифы. т.е. для вас "неправильное" название ¦Ь¦-TАTГTБTП. 1 TБ¦¦¦¬¦-¦-. HQ , ¦Ь¦-TАTГTБTП. 1 TБ¦¦¦¬¦-¦- , 02 ¦н¦¬¦¬¦¬¦-¦+ 2. ¦Ф¦-¦-TА¦- ¦¬¦-¦¦¦-¦¬¦-¦-¦-TВTМ ¦- ¦Ч¦¦¦¬¦¦¦-TЛ¦¬¦Ж ¦¦¦-TА¦-¦+.mp3
Конфигурация компьютера | | Процессор: Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz | Материнская плата: Gigabyte GA-P35-DS3L/S3L | Память: OCZ DDR2 800 2x1Gb | HDD: 1- ST3500320SV 500Gb SATA2, 2- HDT725040VLA360 400Gb SATA2 | Видеокарта: MSI GeForce NX8600GT-silent 256Mb | Звук: Интегрированная в материнку, Realtek ALC888 | Блок питания: 450 Вт | CD/DVD: ASUS DRW-1814BL | Монитор: LG Flatron F700B, 17'' | ОС: Windows XP Pro SP3, Windows Pro 7 Russian | Индекс производительности Windows: 5.5 | Прочее: A4-Tech KX-5MU, Logitech RX300 |
Если интересно, то вот:
bish, это такой архив. Файлы взяты с эпловской файловой системы (в архиве есть остатки дополнительных атрибутов в виде файла .DS_Store) скорее всего, zip был сделан на компе Apple неведомой науке софтиной, которая кидает имена с кириллицей в виде UTF-8 !
возможный вариант - найти софтину под windows, которая понимает имена в архиве, закодированные в utf-8 (называется "спецификация ZIP 6.3.0", у японцев такая фигня стопудов есть), скачать заново 1 гиг, распаковать.
второй вариант - разработать алгоритм, превращающий
¦Ь¦-TАTГTБTП. 1 TБ¦¦¦¬¦-¦-. HQ\.DS_Store в Маруся. 1 сезон. HQ/.DS_Store мне кажется - анрил. смешанная одно и двубайтная кодировка, + обратное преобразование cp1251 > cp866 + потери произвольных символов.
название типа не главное. mp3 слушают, а не читают названия файлов » |
- в случае аудиокниг ещё и желательно чтобы названия были по порядку. У вас всё так и есть, ведь цифры в именах распаковались "как есть" , без изменений.
Маруся. 1 сезон. HQ/Маруся. 1 сезон/01 Эпизод 1. Паническая атака.mp3
Архив rar часто хранит важные уникальные личные данные и фалы вроде фотографий и документов, которые больше нигде не хранятся. Проблема открытия таких файлов становится особенно актуальной.
Если обновление ПО не помогло воспользуйтесь нижеперечисленными рекомендациями.
Возможные неполадки РАР-архива
Решение 1. Файл был обработан в новом варианте архиватора
Как сказано выше, это одна из распространенных и легко решаемых неисправностей.
Для проверки этой гипотезы следует открыть вашу программу WinRAR на вашем компьютере и открыть сноску «Help/ About WinRAR», где вы сможете прочитать информацию о версии продукта. Проследите, какого года программа. В самом лучшем случае это 2020-21 год.
Если ваша версия старее версии RAR 5.0 у вас возникнут трудности с открытием архивов составленных в более новой версии архиватора.
Версия архива
Решение 2. Проведение теста. Лечение архива rar
Что бы выполнить тестирование откройте интересующий вас архив rar и нажмите на кнопку «Тest» которая выглядит в стандартном оформлении, как красный планшет с бумагой.
Тестирование архива
Если документ поврежден, вы можете воспользоваться еще одной функцией WinRAR – средством восстановления поврежденных файлов. Что бы ее вызвать, следует нажать кнопки Alt+R.
При нажатии этих клавиш появиться окно в котором нужно указать папку в которой файл будет восстанавливаться и также формат открытого архива (это либо RAR либо ZIP). Смотрите скрин ниже.
Восстановление архива
Таким образом, есть шанс что эта функция позволит восстановить часть документа и вытащить некоторые файлы.
Также распространена утилита 7-ZIP . Распаковав ее, в меню проводника (контекстном) можно увидеть маленькое меню: использовав правую кнопку мыши по архивному документу ПО предложит начать его раскрытие. Во многих вариантах 7- ZIP получается, в отличии от ВинРАРа распаковать проблемный архив.
Решение 3. Вы пытаетесь работать с файлом с расширением «part3.rar».
Тут необходимо рассмотреть имя файла и изучить на расширение. Возможно вы хотите воспользоваться файлом «part3.rar».
В этом случае файл является лишь частью от более крупного архива (т.е. для открытия такого архива нужно поместить в одну директорию все части архива и лишь тогда открывать. Это многотомные архивы, которые разделяются из-за большого веса получаемого файла.
Рекомендация! Проводник Виндоус по умолчанию не отображает расширение у заархивированных документов. Для их выведения на экран нажмите на две кнопки: Win+R. Появится окно «Выполнить», где вы должны внести команду control folders.
расширение фаила
В «Параметрах проводника» перейдите на вкладку «Вид», прокрутите ползунок вниз и найдите и уберите галочку «Скрывать защитные системные файлы». Также уберите галочку на «Скрывать расширения для зарег. пользователей» и нажмите на кнопку «Показывать скрытые файлы, папки и диски» (смотрите скриншот). Нажмите ОК внизу.
Параметры проводника
Решение 4. Применение спец. Программ восстановления архива rar.
В случае, если RAR архив не получилось воссоздать используя встроенные утилиты WinRAR, можно прибегнуть к таким ПО как Recovery Toolbox for RAR.
Такая утилита не требует специальных настроек и может восстановить практически любой архив.
Рекомендация! Во время создании архивного файла, поставьте галочку возле «Добавить информацию для восстановления». Также храните файлы не на диске системы, это поможет во время проведения бэкапа.
Решение 5. Удостоверьтесь в журнальных записях защитника Windows
Есть большой шанс, что встроенный в виндоус 10 защитник может удалить архив в целях безопасности или заблокировать его.
Также информацию об этом Windows может скрывать, и пользователь не узнает об этом.
Для того что бы проверить это вариант необходимо нажать сочетание клавиш Win+I, этим самым вы войдете в параметры ОС. Долее переходите в «Обновление и безопасность».
В открывшемся новом окне нажимаем на «Безопасность Windows» далее выбираем «Защита от вирусов и угроз» со значком щита. В появившемся окне нажимаем на меню (три палочки с лева сверху) и выбираем «Защита от вирусов и угроз». Заходим в журнал.
Безопасность виндоус Журнал угроз
В этом раздели обратите внимание не было ли пометок или строк о операциях с интересующим вас документом. В этом варианте событий блокировку файла можно отменить, а удаление восстановить из карнтина.
Решение 6. Восстановление архива rar используя носитель.
В случае, если ваш архив находится в директории «Документы» стоит проверить не вошел ли он в резервные копии ОС, которые Виндоус иногда делает.
Для проверки этого случая зайдите в «Компьютер» и нажмите правой кнопкой мыши по папке «Мои документы» и откройте ее свойства.
Свойства папки
Затем, найдите вкладку «Предыдущие версии», где если повезет, вы обнаружите бэкап, в котором храниться проблемный файл.
Предыдущие версии отсутствуют
Читайте также:
|