<code>$msg = "<body><a>áéíóú☻♥♦♣</a></body>";
$temp_dom = new DOMDocument();
$temp_dom->loadHTML($msg);
$dom_xpath = new DOMXpath($temp_dom);
$ele = $dom_xpath->query('//a')->item(0);
echo "<pre>";
echo "Original: $msg\n";
echo $ele->nodeValue;
echo "
";
Выход:
Original: áéíóú☻♥♦♣
áéÃóúâ»â¥â¦â£
Текущая кодировка документа - utf-8.
Я тоже попробовал ANSI и такая же проблема произошла.
utf8_decode решает проблему
echo utf8_decode($ele->nodeValue);
Но дело в том, что я использую множество атрибутов и множество функций, которые мне пришлось бы использовать в каждом из них utf8_decode, и я считаю, что это не правильно.
Кто-то знает, как я могу это сделать?
Пожалуйста, используйте этот тест и протестируйте его перед публикацией результата, потому что я уже много чего пробовал.
Большое спасибо заранее.