Доброе время суток!
Имеем: CentOS 5.8, PHP
Имеется база данных документов к которой осуществляется доступ через web интерфейс(его пишем самостоятельно)
к документам прикреплены файлы(их имена хранятся в таблице)
Задача: Отправить клиенту файлы в архиве по электронной почте.
Как реализовано:
средствами php создается временный каталог, куда копируются все файлы
потом средствами ОС запускается архиватор (пробовались tar rar 7z). он создает архив и отправляет пользователю на email.
Проблема. русские имена файлов приходят в архиве иероглифами.
Как решалось:
1. расшариваем папку с файлами через самбу и монтируем ее с параметром iocharset=cp1251 и работаем с ней. проблема в общем то решилась, но только для архиватора tar. архивы сделанные rar и 7z по прежнему приходят кракозябрами.
2. непосредственно в коде к каждому файлу применяется команда convmv -f utf8 -t cp1251 $filename, но результат тот же.
как заставить rar и 7z делать архивы с корректными именами файлов?
tar меня не устраивает т.к. проблема с разбивкой больших архивов на части. да и пугаются пользователи увидев незнакомый тип файла tar