|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.10.2008, 18:44 | #1 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
Анси и Юникод в строках....
Доброго времени суток, уважаемые. Нуждаюсь в вашей помощи...
Проблема такая: пишу счётчик со статистикой, и застопорился в определении поисковых слов от Яндекса (определяю по рефереру) например... задаёшь поиск в Яндексе "кофеварка" (не обращайте внимания, первое, что пришло в голову )... реферер получается примерно таким: http://yandex.ru/yandsearch?text=%D0...80%D0%BA%D0%B0 далее по коду я отделяю ненужное, перекодирую, и выдаю на экран (в теории - заношу в базу)... выдаёт следующее: кофеварки перекодировать пытался через PHP код:
Выяснил, что это кодировка АНСИ... в блокноте перекодирую в UTF-8 (он же юникод) - становится читабольно... вобщем подскажите, как ансю перекодировать в юникод либо в вин-1251 (если можно, то в асю 305224880, нахожусь в инвизе, но посты читаю) 3аранее благодарен.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
03.10.2008, 19:15 | #2 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
Вопрос снимаю. Помогла вот такая фунция:
PHP код:
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
03.10.2008, 19:25 | #3 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,526
|
Сложноватая функция, получается цикл в 66 итераций независимо от длины запроса, нужно сделать цикл зависимым от длины слова, т.е. в кофеварке должно быть 9 итераций.
|
03.10.2008, 20:27 | #4 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
И как ты это предлагаешь сделать, не пройдя все буквы? если сделать слишком сложную функцию, то овчинка выделки не стоит - скрипт будет компилиться дольше чем с этим... можно конечно брать слово по символам, сравнивать и только тогда заменять, но это слишком большой геморой... я считаю, что с поисковиков не очень часто заходят, а эта функция заходит только в случае реферера, скажем, яндекса, и только в случае наличия в реферере слова "yandsearch"... да и в любом случае сайт у меня очень "лёгкий" счет на миллисекунды даже рядом не идёт...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
03.10.2008, 20:57 | #5 | |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,526
|
Я писал обратную функцию на Delphi брал букву и заменял ее на подобный код.
Код:
Цитата:
Пример и для сайта без текстов есть - посмотри, сколько людей ищут одноклассников http://wordstat.yandex.ru/advq?rpt=p...F1%E5®ions= Они не могут запомнить юрл сайта, понятия не имеют, что такое закладки и переходят на сайт одноклассников через поисковик. P.S> подпись измените. |
|
03.10.2008, 21:22 | #6 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
Эм... немного не понял... зачем вызывать функцию несколько раз? я вызываю её только один раз при каждом определении слова:
Код:
где $query[1] - это вся проверяемая строка. получается что строка один раз попадает в функцию, там по очреди в ней заменяются все символы и функция возвращает её.... интерация, как вы выразились, одна... просто в самой функции реплэйс тормозной несколько раз вызывается... PS> извиняюсь, а чем Вас не устраивает моя подпись? прямых нецензурных слов, оскорблений, рекламы и процих "запрещенностей" в ней не присутствует, причем подпись относится только к людям, настроенным ко мне враждебно, следовательно - это ответ на любые выпады в мою сторону, и, опять же, следовательно - акт самообороны. во выдал.... а вобще, это первый случай за 6 лет, когда меня просили удалить ссылку и цензурный текст из подписи) PPS> извиняюсь ещё раз, но если найдутся обьективные причины - то уберу (не примите за дерзость и оскорбление), так как эта ссылка прямо не относится ни к одному из пользователей форума.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
03.10.2008, 21:42 | #7 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,526
|
$s=str_replace("\xD1\x86","ц",$s); - вот таких вот 66 штук на вызов одной функции.
function utf8_win($s) Будем считать, что запросы длинные и другая форма записи не даст нам выигрыша. P.S>А если бы ваша подпись выводила на порно сайт с этим самым нарисованным? Подпись используется для рекламы своих сайтов, реффсылки скоро будет запрещены в правилах. |
03.10.2008, 22:20 | #8 | ||||
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
Цитата:
Цитата:
Цитата:
Я уже упомянал, что текст подписи не призывает пользователей, которые относятся ко мне лояльно переходить по данной ссылке. Кстати говоря, данная дисскуссия ведёт к увеличению переходов по данной ссылке. Давайте закроем данное обсуждение. Цитата:
PS: для запрещения ссылок в подписях надо изменить всего одну настройку в админке форума... PPS: не могли бы Вы ответить на вопрос в следующей теме: http://programmersforum.ru/showthread.php?t=27129 , либо написать в ICQ 305224880 для обсуждения этого вопроса? Не думаю, что это займёт много времени
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} Последний раз редактировалось Johnson; 03.10.2008 в 22:27. |
||||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[TVirtualStringTree] юникод в имени узлом | iLya84a | Компоненты Delphi | 3 | 08.08.2008 11:33 |
Проблемы с кодировками Анси и Юникод | HunterMan | Win Api | 4 | 31.05.2008 00:41 |
Юникод для Delphi | netuser | Общие вопросы Delphi | 1 | 20.12.2007 02:43 |
юникод в ANSI | techner | Общие вопросы Delphi | 6 | 12.12.2007 20:40 |
Автонумерация при скрытых строках. | DiVinyl | Microsoft Office Excel | 1 | 17.03.2007 18:02 |