Эти прекрасные кодировки...
Если бы во всех странах был только один язык - русский - этот вопрос бы не задался
Имеется Windows-server IIS, php5. На системе все кодировки установлены.
Итак, выполняется закачка файла на сервер.
Если имя файла было прописано латиницей - в папке del имеем нормальный файл.
Если кириллицей - тоже все успешно.
Если же, к примеру, с использованием немецких букв (Über-Zurück.docx) - выводится ошибка move_uploaded_file(C:\wn/del/?ber-Zur?ck.docx): failed to open stream
Причина понятна - имя файла заданно некорректно.
Вот и вытекает вопрос - как правильно закачивать файлы с именами, содержащими национальные символы?
Перерыл кучу литературы, бьюсь уже третий день - если знаете подскажите.
Код во вложении.
Страницу с формой загрузки делать в utf
Она и так в utf
Имеется $source_name, в ней лежит имя файла, к примеру
Код:
"& Uuml;ber-Zur& uuml;ck.docx"
Как преобразовать код, чтобы пользователь скачал файл "Über-Zurück.docx"?
Код:
Код:
header ("HTTP/1.1 200 OK");
header('Content-Type: application/ocet-stream; charset=utf-8');
header('Content-Disposition: inline; filename="'.$source_name.'"');
header ('Content-Length: '.$filesize);
readfile($path.$source_name);
header('Content-Type: application/ocet-stream; charset=utf-8');
header('Content-Disposition: inline; filename="'.$source_name.'"');
header ('Content-Length: '.$filesize);
readfile($path.$source_name);
(Мне броузер предлагает скачать файл "Ьber-Zurьck.docx.digest")