Веб-сервер обслуживает ответы с помощью кодировки utf-8, все файлы сохраняются с помощью кодировки utf-8, и все, что мне известно об установке, установлено в кодировку utf-8.
Вот быстрая программа, чтобы проверить, работает ли выход:
<?php
$html = <<<HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test!</title>
</head>
<body>
<h1>☆ Hello ☆ World ☆</h1>
</body>
</html>
HTML;
$dom = new DomDocument("1.0", "utf-8");
$dom->loadHTML($html);
header("Content-Type: text/html; charset=utf-8");
echo($dom->saveHTML());
Вывод программы:
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>Test!</title></head><body>
<h1>☆ Hello ☆ World ☆</h1>
</body></html>
который отображается как:
â~ † Hello â~ † World â~ †
Что я могу делать неправильно? Насколько конкретнее я должен сказать, чтобы DomDocument правильно обрабатывал utf-8?