У меня есть текст на кириллице: «Сегодня мы делали анонс», но после
$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML('Сегодня мы делали анонс');
и после этого я бегу
$dom->saveHTML();
я получил СегодÐ
Как это исправить?
Кодировка, установленная в конструкторе DOMDocument, переопределяется, когда loadHTML
называется. Вместо этого его необходимо указать в загружаемом HTML-содержимом:
<?php
$dom = new DOMDocument();
$dom->loadHTML('<meta charset="utf-8">Сегодня мы делали анонс'); // specify the input encoding
$dom->encoding = 'UTF-8'; // set the output encoding
print $dom->saveHTML($dom->documentElement);
// [...] <p>Сегодня мы делали анонс</p> [...]
Других решений пока нет …