Заливаем на сайт через форму файл с русским именем, например, "Файл новый.doc". Кладем его в нужное место с тем же именем стандартной командой (PHP):
Код
copy($_FILES['file']['tmp_name'], 'dir/'.$_FILES['file']['name']);
Далее пытаемся обратиться к этому файлу по ссылке:
"http://host/dir/Файл новый.doc" - ничего не выходит, файл не находится.
В Винде (у меня на локале, во всяком случае) все работает.
При этом, что интересно, если на хостинге вызвать скрипт с таким вот содержанием, то в итоге удается получить нужный файл:
Код
<?php
header('Location: http://host/dir/Файл новый.doc');
?>
header('Location: http://host/dir/Файл новый.doc');
?>
Видимо, проблема с кодировками, но где именно, представляю слабо.
В итоге вопрос - как сформировать прямой ерл на файл? (Или может при копировании исходно надо какое-то преобразование имени провести?)
P.S. Наличие/остутствие url-кодирования ни на что не влияет.