получаю searchword и тулю в запрос к БД. в результат получаю большой и красивый болт с резьбой.
БД и все файлы скриптов в utf-8. ставил SET NAMES, делал header... проверил все что только можно было... оказалось что $_REQUEST['searchword'] приезжает в cp1251
Сервер на windows xp. подсказали что проблема кроется в виндовозной версии апача.
Что же можно такого сделать чтобы нормально заставить работать?
PS! Нарыл функцию тут http://club[dot]shelek[dot]ru/viewart.php?id=271 но несколько не уверен в строке $str = ... ведь если приедет вдруг utf-8, то iconv("UTF-8", "UTF-8//IGNORE", $str); запнется... ?!
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Viper пишет:
Оказалось что $_REQUEST['searchword'] приезжает в cp1251
Если в urlencoded-виде данные в шестнадцатиричных цифрах расплагаются в двух разрядах - то это очевидно ASCII-кодировка причем какая именно зависит от параметров браузера Но вы можете явно перекодровать приходящие данные с помощью iconv
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Viper
Отправлено: 28 Апреля, 2010 - 10:24:14
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
JustUserR это то понятно что ASCII, непонятно почему если вручную дописать в строку запроса русский текст, то браузер автоматически кодирует не в utf-8, а в cp1251...
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
В моем случае (ОС Linux) кодируется строго в UTF
Можете использовать, как упоминалось, iconv в скрипте или же encodeURI для javascript (если ссылка генерируется там динамически)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Viper
Отправлено: 28 Апреля, 2010 - 16:23:24
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Viper пишет:
JustUserR это то понятно что ASCII, непонятно почему если вручную дописать в строку запроса русский текст, то браузер автоматически кодирует не в utf-8, а в cp1251...
Кодировка Windows-1251 является родной кодировкой для графического/пользовательского интерфейса - поэтому подставляется именно она Другое дело что внутри самой HTML-страницы уже можно установить соответствующую кодировку - в том числе отдельно для ссылок и форм за счет ее динамической проверки и преобразования
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.