Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   DHTML/JS/CSS (http://www.flasher.ru/forum/forumdisplay.php?f=24)
-   -   как побороть Unicode с помощью JS-функции escape? (http://www.flasher.ru/forum/showthread.php?t=21090)

elvis999 01.10.2001 21:11

как побороть 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!

Пока!

SPV 15.10.2001 00:16

А ты сделай так
document.write('<a href=search.cgi?name=' + str + '>');
Експлорер умный, он поймёт!

elvis999 15.10.2001 11:36

Не-а! :)

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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.