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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UrlDecode для кириллицы 
:(
    Опции темы
DiMoN_TD
Дата 17.11.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем доброго времени суток.

ВОт такая ситуация:

Пишу скрипт для GreaseMonkey. Простейшая задача, вставить из url, который содержит GET-параметры, в поле input.
Все это не составило для меня проблем, пока не столкнулся с кириллицей. Естественно, браузер при вводе кириллицы в строку адреса автоматом декодирует в свой "читабельный" вид. На php аналогия этому существует функция urlencode(); также существует в ней же и функция urldecode(), которая и превращает обратно "читабельный" текст для браузера, в читабельный текст для конечного пользователя. Только вот проблема в том, что на JS нет изначально понятия "кириллицы", поэтому функции, которые я нашел, работают только для латиницы, соотвественно, когда я пытаюсь раскодировать текст подобными функциями, мне выдаются непонятные символы по типу "ÐÎÀÆ".

Собственно вопрос. Существует ли функция на JS, которая декодирует текст в кириллицу? smile

 Извиняюсь, если написал немного "по-нубски", но всегда в начале мы такими были.
Просто самому писать функцию лень, а аналогии не нашел. Может плохо искал? smile
PM MAIL   Вверх
bars80080
Дата 17.11.2009, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



PM MAIL WWW   Вверх
DiMoN_TD
Дата 17.11.2009, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ничего умнее, чем вот подобная функция, написать не смог :( :

Код

function URLDecode(url){
    
    url = url.replace(/%C0/g,"А");
    url = url.replace(/%E0/g,"а");
    url = url.replace(/%C1/g,"Б");
    url = url.replace(/%E1/g,"б");
    url = url.replace(/%C2/g,"В");
    url = url.replace(/%E2/g,"в");
    url = url.replace(/%C3/g,"Г");
    url = url.replace(/%E3/g,"г");
    url = url.replace(/%C4/g,"Д");
    url = url.replace(/%E4/g,"д");
    url = url.replace(/%C5/g,"Е");
    url = url.replace(/%E5/g,"е");
    url = url.replace(/%A8/g,"Ё");
    url = url.replace(/%B8/g,"ё");
    url = url.replace(/%C6/g,"Ж");
    url = url.replace(/%E6/g,"ж");
    url = url.replace(/%C7/g,"З");
    url = url.replace(/%E7/g,"з");
    url = url.replace(/%C8/g,"И");
    url = url.replace(/%E8/g,"и");
    url = url.replace(/%C9/g,"Й");
    url = url.replace(/%E9/g,"й");
    url = url.replace(/%CA/g,"К");
    url = url.replace(/%EA/g,"к");
    url = url.replace(/%CB/g,"Л");
    url = url.replace(/%EB/g,"л");
    url = url.replace(/%CC/g,"М");
    url = url.replace(/%EC/g,"м");
    url = url.replace(/%CD/g,"Н");
    url = url.replace(/%ED/g,"н");
    url = url.replace(/%CE/g,"О");
    url = url.replace(/%EE/g,"о");
    url = url.replace(/%CF/g,"П");
    url = url.replace(/%EF/g,"п");
    url = url.replace(/%D0/g,"Р");
    url = url.replace(/%F0/g,"р");
    url = url.replace(/%D1/g,"С");
    url = url.replace(/%F1/g,"с");
    url = url.replace(/%D2/g,"Т");
    url = url.replace(/%F2/g,"т");
    url = url.replace(/%D3/g,"У");
    url = url.replace(/%F3/g,"у");
    url = url.replace(/%D4/g,"Ф");
    url = url.replace(/%F4/g,"ф");
    url = url.replace(/%D5/g,"Х");
    url = url.replace(/%F5/g,"х");
    url = url.replace(/%D6/g,"Ц");
    url = url.replace(/%F6/g,"ц");
    url = url.replace(/%D7/g,"Ч");
    url = url.replace(/%F7/g,"ч");
    url = url.replace(/%D8/g,"Ш");
    url = url.replace(/%F8/g,"ш");
    url = url.replace(/%D9/g,"Щ");
    url = url.replace(/%F9/g,"щ");
    url = url.replace(/%DA/g,"Ъ");
    url = url.replace(/%FA/g,"ъ");
    url = url.replace(/%DB/g,"Ы");
    url = url.replace(/%FB/g,"ы");
    url = url.replace(/%DC/g,"Ь");
    url = url.replace(/%FC/g,"ь");
    url = url.replace(/%DD/g,"Э");
    url = url.replace(/%FD/g,"э");
    url = url.replace(/%DE/g,"Ю");
    url = url.replace(/%FE/g,"ю");
    url = url.replace(/%DF/g,"Я");
    url = url.replace(/%FF/g,"я");
    
    return url;
}; 


Зато работает для кириллицы smile
PM MAIL   Вверх
bars80080
Дата 18.11.2009, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



DiMoN_TD, а decodeURIComponent() для чего придумана?

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


 




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


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

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