Делаю сайт в кодировке utf-8, ну и конечно есть возможность загрузки файлов, отдаю их следующей функцией: Код (Text): function downloadFile($realFilePath, $fileName) { $fileName = preg_replace("%[\r\n]+%", ' ', $fileName); $fileName = "=?UTF-8?B?" . base64_encode($fileName) . "?="; if(!file_exists($realFilePath)) { return false; } header('HTTP/1.0 200 OK'); header('Status: 200 OK'); header('Accept-Ranges: bytes'); header('Content-Length: ' . filesize($realFilePath)); header('Content-Disposition: attachment; filename="' . $fileName . '"'); header('Content-Type: application/*'); $handle = @fopen($realFilePath, 'rb'); if ($handle) { while(!feof($handle) and !connection_status()) { print fread($handle, (1024 * 8)); } return true; } else { return false; } } В базе файл хранится в следующем виде: Код (Text): file=f3b163f933747288edbed960af68a4e4&name=Текстовый документ.txt Тоесть путь к файлу это параметр file, а его настоящее имя - параметр name, Вопрос вот в чем все работает прекрасно, но при скачивании файла имя файла отображается правильно только в firefox и opera, в IE не работает, как заставить IE правильно читать параметры заголовков?
С помощью заголовков нельзя сделать поддержку всеми браузерами, качалками и т.д. Уберите заголовок, отдавайте имя файла в URL "как есть", без GET параметров: http://example.com/download/f3b163f9337 ... 0af68a4e4/Текстовый документ.txt