xlex
Guest
DOM & HTML @ PHP 5.0.{2,3} broken?
Помогите, пожалуйста определиться - это я багу нашёл или просто руки не из того места растут?
Нижеприведённый код начисто ломает кодировку! Если заменить loadHTML на loadXML, то всё нормально (ну то есть кодировка остаётся в норме)... Получается, что loadHTML просто положить хотел на кодировки?
Не помогает и строка вида "$domDoc = new DOMDocument('1.0', 'utf-8');" (то есть явное указание кодировки).
Исходный файл _точно_ в utf-8, первая строка (<?xml...) нужна только для того, чтобы не менять входные данные (то есть для чистоты эксперимента).
Тестировалось на 5.0.2 & 5.0.3 версиях (Mac OS X 10.3 & FreeBSD 5.3).
Попробуйте, пожалуйста, у кого есть возможность. Или скажите, пожалуйста, как переставить руки, чтобы заработало...
Заранее спасибо.
Листинги:
=======
[input_test]
<?xml version="1.0" encoding="utf-8"?>
<html>
<head>
<title>Тест - Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
</html>
[/input_test]
Помогите, пожалуйста определиться - это я багу нашёл или просто руки не из того места растут?
Нижеприведённый код начисто ломает кодировку! Если заменить loadHTML на loadXML, то всё нормально (ну то есть кодировка остаётся в норме)... Получается, что loadHTML просто положить хотел на кодировки?
Не помогает и строка вида "$domDoc = new DOMDocument('1.0', 'utf-8');" (то есть явное указание кодировки).
Исходный файл _точно_ в utf-8, первая строка (<?xml...) нужна только для того, чтобы не менять входные данные (то есть для чистоты эксперимента).
Тестировалось на 5.0.2 & 5.0.3 версиях (Mac OS X 10.3 & FreeBSD 5.3).
Попробуйте, пожалуйста, у кого есть возможность. Или скажите, пожалуйста, как переставить руки, чтобы заработало...
Заранее спасибо.
Листинги:
=======
PHP:
<?php
$xmlContent = file_get_contents('input_test');
$domDoc = new DOMDocument();
$domDoc->formatOutput = true;
$domDoc->preserveWhiteSpace = false;
$domDoc->recover = true;
$domDoc->loadXML($xmlContent);
file_put_contents('output_test', $domDoc->saveXML());
?>
[input_test]
<?xml version="1.0" encoding="utf-8"?>
<html>
<head>
<title>Тест - Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
</html>
[/input_test]