我有一些 html 内容,其所有文本都是波斯语!我想通过方法 DOMDocument::loadHTML($html) 将此内容提供给 DOMDocument 以执行一些操作,然后通过 DOMDocument::saveHTML() 将其返回...但是在显示字符时存在问题 :-( 例如“سلام”更改为“سلاÙ...”,即使我将脚本文件编码更改为 UTF-8,但它不起作用。
<?php
$html = "<html><meta charset='utf-8' /> سلام</html>";
$doc = new DOMDocument('1.0', 'utf-8');
$doc->loadHTML($html);
print $html; // output : سلام
print $doc->saveHTML(); // output : سلام
print $doc->saveHTML($doc->documentElement); // output : سÙاÙ
?>
更新:根据朋友的指示,我使用了 $doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')); 它奏效了!