Что ж, очевидно, у PHP и его стандартных библиотек есть некоторые проблемы, и DOMDocument не является исключением.
Существуют обходные пути для utf8
символов при загрузке строки HTML - $dom->loadHTML()
.
Видимо, я не нашел способа сделать это при загрузке HTML из файла - $dom->loadHTMLFile()
. Хотя он читает и устанавливает кодировку из тегов <meta />
, проблема наносит ответный удар, если я не определил их. Например, при загрузке фрагмента HTML (часть шаблона, например, footer.html
), а не полностью построенного документа HTML.
Итак, как мне сохранить символы utf8 при загрузке HTML из файла, в котором нет ключей <meta />
, и определение этих параметров не поддерживается?
Обновление
footer.html (файл закодирован в UTF-8 без спецификации):
<div id="footer">
<p>My sūpēr ōzōm ūtf8 štrīņģ</p>
</div>
index.php:
$dom = new DOMDocument;
$dom->loadHTMLFile('footer.html');
echo $dom->saveHTML(); // results in all familiar effed' up characters
Заранее спасибо!