php, urldecode () и умляут - ö

Используя PHP 5.3.2, у меня возникли проблемы с обработкой запроса для страницы, в имени которой есть умлаут. : ö

Выполняя запрос с использованием HTTP-заголовков Firefox + Live для страницы test_ö_test.htm, я вижу, что firefox автоматически преобразует / кодирует умляут, когда делает запрос:

GET /test_%C3%B6_test.htm HTTP/1.1

Теперь, используя http: // meyerweb. com / eric / tools / dencoder / Я могу кодировать / декодировать между test_ö_test.htm и test_% C3% B6_test.htm, поэтому я считаю, что кодировка верна.

Используя urldecode () PHP, я получаю test_ö_test.htm

И ненавистный 404 возвращается. Обратите внимание, что test_ö_test.htm действительно существует в файловой системе.

Когда я тестирую с escape () javascript, я получаю test_% F6_test.htm. Когда я подключаю его к своему браузеру, страница с содержимым возвращается успешно. urldecode () превращает это обратно в умляут.

1
задан hakre 24 December 2012 в 19:56
поделиться