У меня есть поисковый скрипт, где пользователь вводит некоторые слова запроса, которые отправляются с помощью GET. Если пользовательский ввод содержит специальные символы, например äpple
URL становится search.php?q=äpple
и все работает нормально. Но если пользователь перезапустит этот URL search.php?q=äpple
, в поле адреса браузера отобразится search.php?q=%E4pple
, и запрос не будет выполнен. Как я должен декодировать эту строку. urldecode
не работает. Я думал, что это именно то, что было, так что-то еще не так? Или какие другие функции я могу попробовать?
UPDATE
если я использую utf8_encode на search.php?q=%E4pple
, то получится правильный ä
char, но если строка в url отправлена GET и, следовательно, правильно (и работает) ä
, utf8_encode все испортит.
Полагаю, я могу поставить условие, если проверю кодировку, прежде чем что-то делать, но разве это не проще ??