如何修复saveHTML():由于转换错误导致输出转换失败


How to fix saveHTML(): output conversion failed due to conv error?

简单的代码,应该工作在任何url(从我的观点):

我不知道为什么我得到以下警告。你知道吗?

PHP警告:DOMDocument::saveHTML():输出转换失败,由于转换错误,字节0xE9 0x74 0xC3 0xA9在********.php第9行

$content = file_get_contents('http://www.ludibay.net/');
$encoding = mb_detect_encoding($content);
$doc = new DomDocument();
$res = @$doc->loadHTML('<?xml encoding="'.$encoding.'">'.$content);
//some treatment on nodes here
echo $doc->saveHTML();

您是否尝试强制使用从iso-8859-1转换为UTF-8的UTF-8编码?我刚才也遇到了类似的问题,它对我很有效。也许尝试:

$content = file_get_contents('http://www.ludibay.net/');
$content = utf8_encode($content); // convert $content to utf_8
$encoding = mb_detect_encoding($content);
$doc = new DomDocument();
$res = @$doc->loadHTML('<?xml encoding="'.$encoding.'">'.$content);
//some treatment on nodes here
echo $doc->saveHTML();