XtremallyPurpur
Новичок
Кодировка. DOM. XSL.
Добрый день.
Пытаюсь произвести XSL трансформацию средствами DOM.
Такой XML:
<?xml version="1.0" encoding="windows-1251"?>...
Такой XSL:
<?xml version="1.0" encoding="windows-1251"?>...
Преобразую так:
На выходе все русские символы заменяются на коды типа:
& # x421;& # x43D;& # x44F;& # x442;& # x44C;
(без пробелов - а то коды меняются на русские буквы)
В браузере - русские буквы, а HTML вот из таких символов. Как-то не интеллигентно это...
Как фиксить не подскажете?
P.S. PHP4.3.4/winXP
Добрый день.
Пытаюсь произвести 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