Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как раскодировать, переданную в рефере строку запроса ... 
:(
    Опции темы
ReZAK
  Дата 1.10.2006, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.10.2006

Репутация: нет
Всего: нет



Зарубежные и российские поисковики по разному кодируют переданную в рефере строку запроса: 

Примеры: 
1. зарубежного: 
%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B%20%D0%B8%20%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8 
2. российского: 
%F2%EE%E2%E0%F0%FB+%E8+%F3%F1%EB%F3%E3%E8 

Проблема в том как эту аброкадабру с помощью ява-скрипт привести в нормальный вид. 

Для примера 1 вполне подходит функция decodeURI(). 
Вопрос заключается в том как раскодировать пример 2 ?
PM MAIL   Вверх
vasac
Дата 1.10.2006, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Характерные %D1 и %D0 через символ в первом примере указывают, что это строка кодирована из utf8. Так как javascript работает именно с ним, то здесь decodeURI() проходит.
А вторая строка кодирована из какой-то однобайтной кодировки, так что здесь все значительно сложнее. 
Эта задача должна быть решена именно с помощью javascipt?
PM WWW   Вверх
Sardar
Дата 1.10.2006, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



ReZAK, если ты знаешь в какой оно кодировке (вероятно CP1251), то перегоняй в юникод в ручную (if range для верхнего регистра, ещё для маленьких и ещё один для исключений типа ё), затем через String.fromCharCode(code) по символьно востанавливаем строку в юникоде.

Для KOI-8r будет чуть сложнее, т.к. "исключений" много. Найди в гугле любой самодельный кодировщик (очень многие на PHP не любят почему то пользовать iconv), перенеси его код на JS.

Только зачем оно тебе на клиенте? Просто что бы в alert'е без кракозябров показать что в поисковике вбито было?


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
ReZAK
Дата 1.10.2006, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.10.2006

Репутация: нет
Всего: нет



Всем спасибо, проблема решена путем покупки готового скрипта.
Цитата

А вторая строка кодирована из какой-то однобайтной кодировки, так что здесь все значительно сложнее. 

Дейсвительно там все не так просто...
Цитата

Только зачем оно тебе на клиенте? Просто что бы в alert'е без кракозябров показать что в поисковике вбито было?

Да именно чтоб все выглядело лучшим образом.
А на ява-скрипт так как это все будет размещаться на бесплатном хосте, без поддержки php.

Это сообщение отредактировал(а) ReZAK - 1.10.2006, 19:24
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.