Forum Webscript.Ru
Программирование => PHP => Тема начата: Lucent от 01 Июня 2006, 13:06:27
-
Пытаюсь "вытащить" ключевые слова из адресной строки результатов поиска Yandex.ru, то есть люди приходят ко мне на сайт из Yandex.ru - я хочу определить по каким ключевым словам был найден мой сайт.
Если ко мне пришли с 1-ой страницы этого поисковика - достаточно сделать urldecode(), но если пришли со 2-ой и более это не достаточно, приходится делать конвертацию из koi8r в windows1251.
$_SERVER[\'HTTP_REFERER\'] сохраняется в базу с кодировкой windows-1251.
Для перекодировки делаю
mb_convert_encoding(urldecode($row["visitors_url"]), "windows-1251", "koi8r");
перекодировка не проходит, выводится просто urldecode()
если же в скрипте сделать
$a=скопированное значение из базы;
mb_convert_encoding(urldecode($a), "windows-1251", "koi8r");
то строка нормально перекодируется и отображается
В чем моя ошибка?
-
смотри как я это сделал - http://www.velko.ru/statistic?id= ... часть кода могу дать, не все доделано-офрмления ваще нету и ваще, у того же яндекса 2 кодировки как минимум :)
-
reLax[0x00]
Cпасибо, но уже разобрался. Забыл добавить еще 1 urldecode:
mb_convert_encoding(urldecode(urldecode($row["visitors_url"])), "windows-1251", "koi8-r");
-
я по другому немного делал.но не столь принципиально. сейчас просто не могу код посмотреть потому как пароль от хостинга дома. там в яндексе еще одна кодировочка есть, когда с yandexpages юзер заходит-придется фильтровать, а то "крякозябры" будут :)
-
и не забудь каким-нить htmlspecialchars(); -ом при выводе в браузер статистики запрос обработать. а то сайтО хакнут :)
-
>и не забудь каким-нить htmlspecialchars()
всегда о нем помню:)
как и о wordwrape