我运行以下代码:
$page = '<p>Ä</p>';
$DOM = new DOMDocument;
$DOM->loadHTML($page);
echo 'source:'.$page;
echo 'dom: '.$DOM->getElementsByTagName('p')->item (0)->textContent;
它输出以下内容:
source: Ä
dom: Ã
所以,我不明白为什么当文本通过 DOMDocument 时它的编码会被破坏?
最佳答案
这是一个通过元 header 添加正确编码的解决方法:
$DOM->loadHTML('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' . $page);
我不确定这是否是您尝试使用的实际字符集,但在必要时进行调整
关于php - DOMDocument 破坏编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676983/