php - DOMDocument 破坏编码?

标签 php encoding domdocument

我运行以下代码:

$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);

我不确定这是否是您尝试使用的实际字符集,但在必要时进行调整

另请参阅:domdocument character set issue

关于php - DOMDocument 破坏编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676983/

相关文章:

python - 如何打开其中包含表情符号的文本文件?

android - XmlPullParser.getInputEncoding() 在 API11+ 和 Android 的 API11 之前版本上的不同行为

php - xpath 排除具有类的元素

PHP 和 DOMDocument removeNode 留下空行

php - 如何使用 DOMDocument 删除元素?

php - 使用 sha512 的安全 php 注册失败

php - 如何在父类构造函数中使用命名空间

php - 向 PHP 脚本(页面)添加视觉样式

php - Drupal 8 搜索 api - 如何获取内容的 url

java - 使用java邮件API发送电子邮件时出现编码问题