Как решить проблему кодировки в zip архиве php с ubuntu на windows?
Делаю архив zip средствами php на убунту. На убунту все норм. Переношу на windows - там кракозябры. Пробовал перекодировать в windows-1251. Отображает кириллицу, но вместо слов "фяьимфуиайщукщ" и прочая лабуда. Как решить проблему?
Спасибо тебе, добрый человек!!
Необходимо было загрузить сложную структуру из огромного дерева пустых папок на русском в сервис работающий под Linux - после создания архива и изменения кодировки в Bandizip на UPF-8 - всё получилось!
Сталкивался я с такой проблемой, когда пытался архивировать на FreeBSD файлы, лежащие на примонтированной виндовой шаре. Решения я не нашел, пришлось велосипедить - сделал несколько патчей на tar :) и он при архивировании имена файлов перекодировал из koi8-r в что скажешь.
Давным-давно я в том месте не работаю, но патчи где-то сохранились, если надо - мыло в профиле.
А что вы "пробовали перекодировать"?
Проблема только в том, что zip хранит имена файлов в однобайтовой кодировке, и на русских виндах это cp1251.
Содержимое файлов архивируется совершенно одинаково.
Так что достаточно не называть архивируемые файлы кириллицей.
> ZIP uses a default codepage of IBM437
> So it is impossible to create a ZIP file with non-ASCII filenames that work across different countries' releases of Windows and their built-in compressed folder support.
> If you need a non-ASCII archive format you'll have to use one of the newer formats, such as recent 7z or rar.
а так же tar.gz пакует в utf-8
просто смените архиватор