Кодировка. DOM. XSL.

XtremallyPurpur

Новичок
Кодировка. DOM. XSL.

Добрый день.

Пытаюсь произвести XSL трансформацию средствами DOM.
Такой XML:

<?xml version="1.0" encoding="windows-1251"?>...

Такой XSL:

<?xml version="1.0" encoding="windows-1251"?>...

Преобразую так:

PHP:
  $xml_win_str = file_get_contents($data_dir."complex.xml");
  $xsl_win_str = file_get_contents($data_dir."complex.xsl");
  
  // Все строки перегоняю в UNICODE
  $xml_utf_str = iconv("windows-1251","UTF-8",$xml_win_str);
  $xsl_utf_str = iconv("windows-1251","UTF-8",$xsl_win_str);

  //Собссно трансформация
  $xmldoc = domxml_open_mem($xml_utf_str);
  $xsldoc = domxml_xslt_stylesheet($xsl_utf_str);
  $result =  $xsldoc->process($xmldoc);
  $utf_page = $xsldoc->result_dump_mem($result);
  // Полученный HTML перегоняю в win1251
  print $win_page = iconv("UTF-8","windows-1251",$utf_page);
На выходе все русские символы заменяются на коды типа:
& # x421;& # x43D;& # x44F;& # x442;& # x44C;
(без пробелов - а то коды меняются на русские буквы)

В браузере - русские буквы, а HTML вот из таких символов. Как-то не интеллигентно это...

Как фиксить не подскажете?

P.S. PHP4.3.4/winXP
 

XtremallyPurpur

Новичок
узла xsl: output - вообще не ставил.

поставил :

<xsl:eek:utput method="html" encoding="windows-1251"/>

все отработало.

chameleon - спасибо.
 
Сверху