нет никакого совместимого способа закодировать имена неASCII в Content-Disposition
. Совместимость браузера является путаницей .
теоретически правильный синтаксис для использования UTF-8 в Content-Disposition
является очень странным: filename*=UTF-8''foo%c3%a4
(да, это - звездочка и никакие кавычки кроме пустой одинарной кавычки в середине)
Этот заголовок является kinda-not-quite-standard (, спецификация HTTP/1.1 подтверждает свое существование , но не требует, чтобы клиенты поддерживали его).
существует простая и очень устойчивая альтернатива: используют URL, который содержит имя файла, которое Вы хотите .
, Когда имя после того, как последняя наклонная черта является той, Вы хотите, Вам не нужны никакие дополнительные заголовки!
Этот прием работы:
/real_script.php/fake_filename.doc
И если Ваш сервер поддерживает перезапись URL (например, mod_rewrite
в Apache) тогда, можно полностью скрыть часть сценария.
Символы в URL должны быть в UTF-8, urlencoded байт байтом:
/mot%C3%B6rhead # motörhead
Вы проверили настройки своего iPhone -> Общие -> Клавиатура -> Автозаглавные буквы?