Отправка формы и x-www-form-urlencoded

Ярослав

Новичок
Отправка формы и x-www-form-urlencoded

Здравствуйте.
У формы есть атрибут enctype и по умолчанию он равен x-www-form-urlencoded.

Кодировка сайта utf-8
Код:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Форма:
Код:
<form action="/" method="get"> 					
    <input class="search-input" name="q" type="text" value="<?=!empty($_GET['q'])) ? $_GET['q'] : ""; ?>"/> 					 
    <input class="search-submit" value="" type="submit" /> 				
</form>
Например мы ищем "тест"
то строка будет выглядить /?q=тест
но ставим курсор в строку + Enter и строка будет http://domain.yaroslav/?q=%F2%E5%F1%F2
а в поле "&#65533;&#65533;&#65533;&#65533;"

Это проявляеться на winXp наверное через системную кодировку.
На линукс все отлично работает.
Данный ефект можно посмотреть и на сайте хабра.
Как лечить это поведение?
 

dimagolov

Новичок
HTTP заголовок правильный нужно отдавать, а не только мета-тег
Например мы ищем "тест"
то строка будет выглядить /?q=тест
но ставим курсор в строку + Enter и строка будет http://domain.yaroslav/?q=%F2%E5%F1%F2
это не в UTF-8, а в 1251. если набираешь руками текст в строке адреса, та разные браузеры ее кодируют urlencode из разных кодировок.

вообще не стоит передавать параметры поиска через get, чтобы таких недоразумений с разными браузерами не возникало при ручном наборе.
 
Сверху