Я создаю ZIP архив на UNIX системы с помощью PHP 5.3.10 с Zip версии 1.12.5 и 0.11.2 Libzip версии:PHP ZipArchive с акцентом символов в именах файлов
<?php
$zip = new ZipArchive();
$test_zip = "./test.zip";
if ($zip->open($test_zip, ZIPARCHIVE::CREATE)===TRUE)
{
$zip->addFromString("Liste client à exporter.txt","Content line 1\nContent line 2\n");
$zip->close();
if(file_exists($test_zip))
{
header ("Content-Type: application/octet-stream");
header ("Accept-Ranges: bytes");
header ("Content-Length: ".filesize($test_zip));
header ("Content-Disposition: attachment; filename=\"test.zip\"");
header ("Cache-Control: max-age=60");
readfile($test_zip);
unlink ($test_zip);
}
}
?>
Когда я открываю генерироваться ZIP-файл test.zip на Windows 7 используя внутренний ZIP, я вижу файл в архиве, например «Liste client + a exporter.txt» вместо «Liste client à exporter.txt». Но если открыть его, например, с 7z, имя файла верное, с акцентом. PHP-файл имеет кодировку UTF-8.
решаемые Проблема была в Windows 7 (патч KB2704299)
File names are corrupted after you decompress a .zip file in Windows 7 or in Windows Server 2008 R2
почтовый файл открыт в расшифрованной формате? – RaMeSh
Не понимаю, что вы имели в виду. Он открывается автоматически после загрузки. Тот же эффект при двойном щелчке по zip-файлу. –
Какова конкретная проблема – RaMeSh