Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Эти прекрасные кодировки...

7.4K
25 октября 2007 года
Triaffer
49 / / 30.07.2006
Привет, господа!
Если бы во всех странах был только один язык - русский - этот вопрос бы не задался

Имеется Windows-server IIS, php5. На системе все кодировки установлены.

Итак, выполняется закачка файла на сервер.
Если имя файла было прописано латиницей - в папке del имеем нормальный файл.
Если кириллицей - тоже все успешно.
Если же, к примеру, с использованием немецких букв (Über-Zurück.docx) - выводится ошибка move_uploaded_file(C:\wn/del/?ber-Zur?ck.docx): failed to open stream

Причина понятна - имя файла заданно некорректно.
Вот и вытекает вопрос - как правильно закачивать файлы с именами, содержащими национальные символы?

Перерыл кучу литературы, бьюсь уже третий день - если знаете подскажите.
Код во вложении.
244
25 октября 2007 года
UAS
2.0K / / 19.07.2006
Страницу с формой загрузки делать в utf
7.4K
25 октября 2007 года
Triaffer
49 / / 30.07.2006
Она и так в utf
7.4K
26 октября 2007 года
Triaffer
49 / / 30.07.2006
Путем хитрых манипуляций задачу удалось свести к следующей:

Имеется $source_name, в ней лежит имя файла, к примеру
 
Код:
"& Uuml;ber-Zur& uuml;ck.docx"
- то есть все национальные символы преобразованы в соотв. html - сущности.

Как преобразовать код, чтобы пользователь скачал файл "Ü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);


(Мне броузер предлагает скачать файл "Ьber-Zurьck.docx.digest")
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог