Я создал скрипт php, который просматривает файлы в каталоге и выводит на них ссылки. Имена файлов на испанском языке, поэтому некоторые из них содержат такие символы, как á, é и т. Д.
Мой скрипт отлично работает на моем компьютере разработчика, который является windows + apache + php, однако он не работает на сервере моего хостинга, который является linux + apache + php, он не находит файл.
В некоторых поисках было предложено использовать urlencode (), однако, когда я делаю это, он ломается под моей машиной разработки, поэтому это не приемлемо для меня, хотя я не пробовал его на своем веб-сервере.
РЕДАКТИРОВАТЬ: Подробнее об ошибке на компьютере разработчика при использовании urlencode ().
Кажется, что есть 2 ошибки, одна, когда имя файла содержит символы, такие как á, é и т. Д. И другая, когда имя файла имеет пробелы.
Имя файла с пробелами (т. Е. 'Calidad Total .doc') получает следующую ссылку http://localhost/temarios/docs/Calidad+total+.doc, которая дает мне ошибку 404 файл не найден. Замена «+» на «s» в адресной строке делает его работоспособным.
Имя файла с акцентированными символами (т. Е. Economía.doc) получает ссылку http://localhost/temarios/docs/Econom%EDa.doc, которая дает мне ошибку 403 Forbidden. Замена '% ED' на 'í' в адресной строке делает его работоспособным.
Я протестировал бета-версию Firefox 3 и IE8 для Windows 7, и то же самое происходит в обоих браузерах.