#Что происходит и почему это важно
В архиве ZIP, созданном много лет назад, вместо русских имён показаны знаки вопроса, псевдографика или набор латинских букв. Чаще всего проблема в записи старой кодировки имён без надёжной пометки; данные внутри файлов могут оставаться целыми. Инструкция рассчитана на самостоятельную безопасную проверку; названия пунктов могут немного различаться в зависимости от языка и версии архиватора.
#Причины: как отличить их по признакам
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Кодировка не указана в старом ZIPСтарые программы записывали имена файлов в локальной кодовой странице без признака UTF-8. | Латинские имена нормальны, а кириллица искажена и в списке, и после извлечения. | Найти исходный архиватор и повторно создать ZIP с именами UTF-8. |
| Файл извлекли через другую программуПрограммы могут по-разному интерпретировать старые байты заголовков ZIP. | Один и тот же ZIP показывает разные имена в Проводнике и в 7-Zip. | Сравнить без повторного сжатия; выбрать программу, которая отображает исходные имена. |
| Имена уже повреждены до архивацииСоздатель архивировал файлы, которые уже назывались нечитаемо. | Имена одинаково испорчены во всех просмотрщиках, включая машину автора. | Запросить правильно названные оригиналы. |
#Подробная диагностика и решения
- Сделайте копию старого архиваВ Проводнике Windows нажмите Win+E, найдите ZIP, выделите его, нажмите Ctrl+C и Ctrl+V в отдельной папке «Проверка ZIP». Не переименовывайте файлы внутри исходного архива: это изменит доказательство исходной проблемы. Если копия не создаётся, проверьте свободное место и доступ к каталогу.
- Посмотрите имена именно до распаковкиОткройте «Пуск», введите 7-Zip File Manager и запустите диспетчер 7-Zip. В его адресной строке или папках откройте копию ZIP двойным щелчком; найдите одну строку с русским названием. Запишите, как оно выглядит, и сравните со списком имён у отправителя, если он сохранился. Если виден запрос пароля, сперва решайте вопрос доступа к архиву, а не кодировки.
- Сравните с обычным ПроводникомНе изменяя архив, закройте окно 7-Zip и дважды щёлкните копию в Проводнике Windows. Если архив отображается как папка, сравните те же имена. Различие подтверждает неоднозначность кодировки заголовков; одинаковые ошибки ещё не означают, что сами файлы безвозвратно испорчены. Если Проводник не открывает ZIP, используйте только 7-Zip и перейдите дальше.
- Проверьте извлечение одного безопасного файлаВернитесь в 7-Zip File Manager, откройте копию ZIP, выделите один небольшой неисполняемый файл и нажмите «Извлечь» (Extract). В диалоге укажите новую пустую папку «Тест ZIP», нажмите «ОК». Посмотрите имя и содержимое. Если документ читается, повреждение, скорее всего, касается имени, а не текста внутри; если и содержимое искажено, это отдельная проблема кодировки документа.
- Уточните исходную программу и язык компьютераСпросите отправителя, каким архиватором и на какой системе создавался ZIP, и может ли он открыть оригинал с правильными именами. Если да, попросите не исправлять каждое имя вручную, а извлечь в исходной системе и создать новый ZIP современным архиватором, поддерживающим UTF-8. Сначала проверить правильность имён на его компьютере.
- Получите исправленный архив, не перезаписывая прежнийПусть отправитель создаст новый архив с новым именем, например «docs-utf8.zip», и пришлёт его отдельно. Откройте его в 7-Zip и в Проводнике и сравните несколько русских имён, включая букву «ё». При несовпадениях попросите архив 7z: этот формат хранит имена Unicode; если получатель пользуется macOS, заранее уточните возможность открыть 7z.
- Если отправителя нет — сохраните и опишите оригиналНе запускайте массовое переименование или автоматическое перекодирование по догадке: CP866, Windows-1251 и другие исторические кодировки дают похожие искажения. Сохраните копию ZIP, список правильных имён (если известен), сведения о программе-источнике и пример. Для однократного восстановления привлеките специалиста; результат проверяйте на отдельной копии.
#Как проверить, что проблема решена
Откройте новый архив на обеих системах и убедитесь, что как минимум три русских имени и имена вложенных папок совпадают с оригиналами. Распакуйте тестовый документ в отдельную папку и откройте его: имя и содержимое должны быть корректны.
#Если ничего не помогло
Если ошибка осталась, сравните результат с компьютером, где ZIP был создан. Не утверждайте, что достаточно «перекодировать UTF-8»: в старом ZIP может вовсе не быть информации об исходной кодировке. Вернитесь к неизменённой копии и запросите новые исходники.