При XSLT конв-нии русский текст в атрибутах эскейпится. Как разэскейпить текст в JS?

laflaf

Новичок
При XSLT конв-нии русский текст в атрибутах эскейпится. Как разэскейпить текст в JS?

Через XML/XSLT формирую HTML документик.

в XSLT стоит <xsl:eek:utput method="html">

В HTML документике есть такая строчка:

<a href="javascript:add('русский текст');">add</a>


конечно русский текст эскейпится в вид %FF, но смущает меня не это.

Пытаюсь этот 'русский текст' вставить в поле формы через JS. Вставляет, но вставляет фигню вида &#208;&#186;&#208;&#178;&#208;°&#209;&#128;&#209;&#130;&#208;&#184;&#209;&#128;&#208;°,.

Как бы победить это?
 

laflaf

Новичок
В <xsl:eek:utput method="html" encoding=""> пробовал и windows-1251 и UTF-8.

Суть от этого не меняется.

Кодировка, выбранная в браузере, тоже никак не влияет.
 

Scud

Новичок
Вот так это сделано в prototype.js

Код:
  unescapeHTML: function() {
    var div = document.createElement('div');
    div.innerHTML = this.stripTags();
    return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
  },
 

BRat

o_0
Scud
не то скопировал )

сама страница в какой кодировке сохранена?
 

serglt

Анус, ой, Ахтунг
Есть функция в яваскрипте unescape но она тебе явно не поможет, если ты конечно скопировал то что у тебя выводится.
1.
Для начала в своих PHP скриптах, которые у тебя используются добавь заголовки
header ('Content-Type: text/html; charset=windows-1251;'); - для html
и header ('Content-Type: text/xml; charset=windows-1251;'); - для xml

2.
В своем редакторе погляди в какой кодировке сохранил свои файлы. Тож должна быть соответствующяа кодировка. А то может у тебя редактор в одной кодировке сохряняет, а ты пытаешься из нее родить нужую.
 

olpa

Новичок
В <xsl:eek:utput method="html" encoding=""> пробовал и windows-1251 и UTF-8.
Странно, с utf-8 должно было сработать. Попробуй ещё раз. Или так:

Код:
<script>var374BCEF3 = 'русский текст';</script>
<a href="javascript:add(var374BCEF3);">add</a>
 

CatManZero

Новичок
Как вариант, можно написать так:
<a href="javascript:;" onclick="add('русский текст'); return false;">add</a>
 

laflaf

Новичок
2 CatManZero

действительно, текст эскейпиться только в @href. в @onсlick не эскейпиться. как вариант подходит. но все-равно интересно как разъэскейпить текст?
 
Сверху