Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Кодировка запроса GET
Форумы портала PHP.SU » PHP » Программирование на PHP » Кодировка запроса GET

Страниц (1): [1]
 

1. eai - 20 Мая, 2010 - 10:18:48 - перейти к сообщению
Вот тут незадача вышла

Есть внутренний сайтик в кодировки UTF8
Делаю запрос
http://portal/drilldown.php?acti[dot][dot][dot]ationId=роз_СБор
Все замечательно пока живу на Ubuntu
Как только запрос приходит с виндовой машины, кодировка запроса не UTF8 а Win1251
Получается что я получаю запрос в неизвестной кодировке фактически
Что с этим делать и как быть?
2. JustUserR - 20 Мая, 2010 - 15:57:32 - перейти к сообщению
eai пишет:
Как только запрос приходит с виндовой машины, кодировка запроса не UTF8 а Win1251
Получается что я получаю запрос в неизвестной кодировке фактически
Все GET/POST-данные от пользователя передаются в urlencoded-виде и при обратной расшифровке приводятся в определенную кодировку - которая соответствует текущей стандартной кодировке на web-сервере в данном файле или каталоге и настраивается через .htaccess При этом браузер как правило преедается специальный HTTP-заголовок с указанитем кодировки символов в которой он осуществляет передачу - поэтому вы можете соответствующий HTTP-заголовок Accent-Charset и на основе него выполнить преобразование
Но лучше просто исключить ручное составление пользователем GET-запроса и формировать гиперссылки с учетом соответсвующей кодировки - тогда при переходе по такой ссылке данные будут в той же кодировке что и ожидаются PHP-скриптом

 

Powered by ExBB FM 1.0 RC1