saveHTMLFile() 始终以 UTF-8 编码保存文件。即使 DOMDocument->encoding 明确规定与 UTF-8 编码不同。所有“非拉丁”字符都将转换为 HTML 实体。在 PHP 5.2.9-2 和 PHP 5.2.17 中测试。示例
<?php
$document=new domDocument('1.0', 'WINDOWS-1251');
$document->loadHTML('<html><head><title>Russian language</title></head><body>Русский язык</body></html>');
$document->formatOutput=true;
$document->encoding='WINDOWS-1251';
echo "Записано байт. Recorded bytes: ".$document->saveHTMLFile('html.html');
?>
该方法以 UTF-8 编码记录了文件。文件 html.html 的内容
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Russian language</title>
</head>
<body>Ðóññêèé ÿçûê</body>
</html>