При использовании PHP 5.3.2 у меня возникают проблемы с обработкой запроса для страницы, имя которой содержит умлаут: ö
Выполнение запроса с использованием Firefox + Live HTTP Headers для 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, поэтому я считаю, что кодировка правильная.
Используя PHP urldecode (), я получаю test_ötest.htm
И возвращается ненавистный 404.Обратите внимание, что test_ö_test.htm существует в файловой системе.
Когда я тестирую с escape-кодом javascript (), я получаю test_% F6_test.htm.Когда я подключаю его к своему браузеру, страница с контентом возвращается успешно.urldecode () превращает это обратно в умлаут.