Почему в JavaScript, кот. запускается из-под FireFox (пишу bookmarklet) русские буквы заменяются на Unicode?
То есть ввожу "имя" в окошке-запросе, а получаю строчку %u0438%u043C%u044F.
Как быть? Мне нужно или просто слово на русском или хотя бы escape-последовательность, чтобы добавить в ссылку.
например google.com?q=имя

javascript:strquery = prompt(%22Film Name%22, %22%22); location=%22http://www.google.com/search?q=%22 + escape(strquery).replace(/ /g, %22+%22); void 0

http://xpoint.ru/know-how/JavaScript/YemulyatsiyaOtpravkiFormyiPriPomoschiXMLHttpRequest

Если кратко, то внутреннее предстваление строк в js — уникод. Чтобы закодировать данные форм так, чтоб сервер их понял — надо юзать ф-цию encodeURIComponent.

Eugene Efremov пишет

http://xpoint.ru/know-how/JavaScript/YemulyatsiyaOtpravkiFormyiPriPomoschiXMLHttpRequest

Если кратко, то внутреннее предстваление строк в js — уникод. Чтобы закодировать данные форм так, чтоб сервер их понял — надо юзать ф-цию encodeURIComponent.

В FireFox 1.0.7 это не работает. Заменил escape на escapeURIComponent

javascript:strquery = prompt(%22Film Name%22, %22%22); location=%22http://www.google.com/search?q=%22 + escape(strquery).replace(/ /g, %22+%22); void 0

здесь запрашивается строка поиска и открывается окошко с результатами поиска.


javascript:strquery = prompt(%22Film Name%22, %22%22); location=%22http://www.google.com/search?q=%22 + escapeURIComponent(strquery).replace(/ /g, %22+%22); void 0

а вот здесь запрос работает, но дальше нет - окошко с google не открыватся почему-то.

Может эту функцию FireFox не понимает? Это не из микрософтовского JScript функция случайно?