PHP DomDocument не может обрабатывать utf -8 символов (☆)

Веб-сервер обслуживает ответы в кодировке 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>&acirc;&#152;&#134; Hello &acirc;&#152;&#134; World &acirc;&#152;&#134;</h1>
</body></html>

Что отображается как:

† Привет † Мир †


Что я могу делать неправильно? Насколько более конкретным я должен быть, чтобы сообщить DomDocument правильно обрабатывать utf -8?

52
задан Greg 2 July 2012 в 23:40
поделиться