artem328
@artem328

Как разархивировать архив, созданный под Windows, на Linux сервере?

Всем привет!

Помогите, если знаете как, пожалуйста.

Создаю архив под Win 8. В архиве содержатся кириллические названия. Выгружаю его на сервер, и там он должен разарахивироваться. Но при разархивации кириллические имена превращаются в кучу иероглифов.

Я пытался создавать zip, 7z, rar архивы и разархивровать их разными методами. Пользовался библиотекой PCLZIP (www.phpconcept.net/pclzip/) и функцией exec:
exec('unrar archive.rar');

exec('unzip archive.zip');

exec('unzip -O utf8 archive.zip');

exec('unzip archive.zip');
exec('convmv -f cp1252 -t cp850 -r * --notest');
exec('convmv -f cp866 -t utf-8 -r * --notest');


exec('unzip -O cp850 archive.zip');
exec('convmv -f cp866 -t utf-8 -r * --notest');


Ничего не работает, в лучшем случае часть папок переименуется и файлов переименуется в кириллицу, а часть нет.

Подскажите как можно правильно разархивировать архив с кириллицей?
Или какие есть альтернативные способы архивации на Win 8 с адекватной разархивацией на сервере?
  • Вопрос задан
  • 2957 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Nc_Soft
А tar.gz пробовали?
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
1) Попробуйте без библиотеки, встроенная поддержка Phar позволяет распаковывать tar, tar.gz, tar.bz2, zip архивы (но скорость будет ниже, для нескольких мегабайтов не критично, для больших файлов может не подойти)
2) Попробуйте tar скорее всего будет быстрее и проще всего, tar.bz2 если нужно сжать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы