12

Когда я пытаюсь заархивировать файлы, содержащие в своих именах символы Юникода, такие как © или ™, я получаю следующую ошибку:

[Название окна] Ошибка сжатых (заархивированных) папок

[Содержимое] «C:\Asd ™ .txt» не может быть сжато, поскольку оно содержит символы, которые нельзя использовать в сжатой папке, например ™. Вы должны переименовать этот файл или каталог.

[ХОРОШО]

Это стало проблемой только после переустановки Windows 7. Вероятно, у меня были некоторые ресурсы, необходимые для этой ошибки, чтобы они были автоматически устранены, но теперь это почти чистая установка, и я не могу заархивировать файлы. Как это исправить?

UPD: Прошло некоторое время с тех пор, как я отправил этот вопрос, я установил некоторые из моих обычных приложений, но проблема все еще существует, и я не уверен, можно ли это исправить, установив какое-то конкретное приложение ранее.


Встроенная архивация Windows 10 может не иметь этой проблемы, как сообщается в комментарии к этому вопросу.

2 ответа2

17

Если оскорбительные символы написаны на языке, отличном от английского, но поддерживаемый Microsoft, вы можете установить соответствующий языковой пакет MUI (Многоязычный интерфейс пользователя) из Центра обновления Windows или соответствующий пакет LIP (Language Interface Pack) отсюда в качестве возможного исправления.

В дополнение к вышесказанному может потребоваться изменить языковой стандарт системы.

Системный языковой стандарт определяет набор символов по умолчанию (буквы, символы и цифры) и шрифт, используемый для ввода и отображения информации в программах, которые не используют Unicode. Это позволяет программам, не поддерживающим Юникод, запускаться на вашем компьютере с использованием указанного языка. Может потребоваться изменить язык системы по умолчанию при установке дополнительных языков отображения на вашем компьютере. Выбор другого языка для языкового стандарта системы не влияет на язык в меню и диалоговых окнах для Windows или других программ, которые используют Unicode.

Для этого:

  1. Введите "регион" в поле поиска меню "Пуск" (без кавычек)

  2. Откройте апплет « Регион и язык».

  3. Перейдите на вкладку « Администрирование », а затем в разделе "Язык" для программ, не поддерживающих Юникод, нажмите « Изменить языковой стандарт системы». Если вас попросят ввести пароль администратора или подтверждение, введите пароль или предоставьте подтверждение.

  4. Выберите язык и нажмите кнопку ОК.

  5. Если вам будет предложено перезагрузить компьютер, нажмите « Перезагрузить сейчас», чтобы сделать это.

    Win7 Изменить локаль системы


Тем не менее, если персонажи обижая что - то вроде , как уже упоминалось выше, я не верю , что есть какой - либо официальный Microsoft исправить для этого zipfldr.dll ограничения, который существовал до тех пор , как Windows , была эта особенность (так что если вы действительно исправить это раньше Возможно, вы установили какой-либо сторонний компонент). Из Википедии:

Версии Microsoft Windows включают поддержку сжатия zip в Explorer начиная с версии Plus! Пак был выпущен для Windows 98. Microsoft называет эту функцию "Сжатые папки". Не все функции zip поддерживаются функцией сжатых папок Windows. Например, шифрование AES, разделенные или составные архивы и кодировка записей Unicode, как известно, недоступны для чтения или записи функцией "Сжатые папки" в Windows XP или более поздних версиях.

В формате ZIP давно отсутствовала поддержка Unicde, и это расширение было добавлено только 6 лет назад в 2006 году. Согласно ПРИЛОЖЕНИЮ D - Языковая кодировка (EFS) спецификации формата файла ZIP:

D.1 Формат ZIP исторически поддерживал только исходный набор кодировки символов IBM PC, обычно называемый IBM Code Page 437. Это ограничивает хранение символов имени файла только теми, которые находятся в исходном диапазоне значений MS-DOS, и не поддерживает имена файлов в других кодировках или языках. Чтобы устранить это ограничение, данная спецификация будет поддерживать следующее изменение. [ Прочитайте документ для отдыха. ]

С тех пор, конечно, все основные архиваторы Windows, реализующие этот формат, были обновлены и теперь включают поддержку Unicode, начиная с WinZip в 2008 году. К сожалению, Microsoft по какой-то странной причине лицензировала стороннюю библиотеку для своей функции «Сжатые папки» (хотя не так уж сложно кодировать поддержку ZIP), и, очевидно, эта библиотека предшествует добавлению Unicode к формату файлов ZIP. Кроме того, в качестве четкого признака того, насколько она заботится об этой функции, Microsoft не обновила код для исправления этой ошибки до настоящего времени (по-видимому, даже новой Системы.Класс IO.ZipArchive в последней версии .Net Framework, т.е. 4.5 изначально не получил этого права, но с тех пор ошибка была исправлена). Я предполагаю, что они ожидают, что все установят один из множества полнофункциональных доступных сторонних архиваторов, что я и рекомендовал вам выше.

Вы можете прочитать мрачные подробности об этом специфическом отсутствии поддержки Unicode в Windows в следующей серии постов Microsoft Майкла Каплана:


PS «Я только что узнал, что архивирование с помощью" send to "в Windows работает так же хорошо, как" лучшее "архивирование Winrar, но намного быстрее». - Я только что проверил это, несколько раз. Помимо дополнительного времени, которое требуется для открытия диалогового окна WinRAR « Добавить в архив », выберите ZIP в качестве формата архива и нажмите "ОК", фактическое время, затрачиваемое на сжатие, было примерно одинаковым для обоих, в целом WinRAR занимал меньше времени (хотя различия были незначительными ). Если вы заметили огромную разницу, это могло произойти, только если вы сначала протестировали WinRAR для набора файлов, а затем сразу же сжали те же файлы с помощью Compressed Folders. Естественно, что во второй раз Windows уже кэшировала данные, поэтому процесс занял часть времени, которое он занимал изначально. Сделайте это в обратном порядке с набором файлов, к которым вы ранее не обращались во время текущего сеанса Windows, и я уверен, что результат будет обратным. :)

Что касается окончательного сжатого размера, в зависимости от данных / комбинации форматов файлов в архиве, я обнаружил, что любой из двух справляется лучше (хотя опять-таки различия были незначительными). Конечно, форматы 7z или Rar (или даже WinZip ZipX) намного лучше в этом отношении и будут превосходить обычные ZIP почти каждый день (то есть ZIP использует традиционный / устаревший алгоритм дефляции вместо PPMd и тому подобное).

1

У меня та же проблема. Используйте 7-Zip Manager и заархивируйте ваши файлы, и проблема решена. :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .