![]() |
как побороть Unicode с помощью JS-функции escape?
Привет всем!
Подскажите, люди дробрые, как побороть следующую проблему: Имеем кусок кода, типа: <script LANGUAGE="JavaScript"><!-- var str='Вася Пупкин' document.write('<a href=search.cgi?name=' + escape(str) + '>'); //--> </script>Искать</a> в NN получаем ссылку вида: search.cgi?name=%C2%E0%F1%FF%20%CF%F3%EF%EA%E8%ED что, собственно говоря и требуется. в IE получаем search.cgi?name=%u0412%u0430%u0441%u044F%20%u041F%u0443%u043F%u043A%u0438%u043D что, вобщем-то совершенно не так, как должно быть :-(((( Подскажите, какие махинации необходимо применить к строке, чтобы русские символы передавались исключительно в виде '%NN', а не '%uNNNN'. Заранее thanx! Пока! |
А ты сделай так
document.write('<a href=search.cgi?name=' + str + '>'); Експлорер умный, он поймёт! |
Не-а! :)
document.write('<a href=search.cgi?name=' + str + '>'); Сгенерит ссылку search.cgi?name=Вася, цинично обрубив Пупкина :)) Выход из проблемы в конкретеном данном случае нашелся в виде: document.write('<a href=search.cgi?name=' + str.replace(/ /g, "%20") + '>'); Т.е. меняем пробелы на %20, на радость всем скриптам, а остальное умный IE с не менее умным NN действительно и так понимают :)) Только вот вопрос о загадочной функции escape так и остался открытым... |
| Часовой пояс GMT +4, время: 18:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.