Гуру! Замена русских букв на сущности &#XXX; - странности???

Milagro

Новичок
Гуру! Замена русских букв на сущности &#XXX; - странности???

Имеем валидный XML-файл
<?xml version="1.0" encoding="windows-1251"?>

Имеем валидный XSL-файл
<?xml version="1.0" encoding="windows-1251" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:eek:utput method="html" encoding="windows-1251" indent="yes" doctype-public="-//W3C//DTD HTML 4.01 Strict//EN"/>
....
</xsl:stylesheet>

И в одном и в другом файле встречаются русские буквы.

Выполняем трансформацию (сокращенный листинг):
$xmldom = domxml_open_file($xmlFile);
$xsldom = domxml_xslt_stylesheet_file($xslFile);
$result = $xsldom->process($xmldom);
$fw = fopen("test.html", "w");
fwrite($fw, $result);

Смотрим результат FAR-ом - все русские буквы заменены на &#XXX;

Рецепт - включить в XSLT-преобразование вывод строчки
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251"/>, тогда буквы выводятся как надо.

Я в упор не понимаю, это чем обусловлено!! Гуру, помогите!
 

ViJu

Новичок
Попробуйте вместо последних двух строк

$fw = fopen("test.html", "w");
fwrite($fw, $xsldoc->result_dump_mem($result));

А вообще с 1251 много проблем в libxml,
например в выходе XSL везде все нормально а в атрибутах русские буквы заменены на сущности
- я справился этим переведя все (xml, xslt) на UTF-8, а при неодходимости перекодирую iconv'ом в 1251
 
Сверху