开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

DOMDocument 和 UTF-8 问题

几周前,我分享了我如何使用 PHP DOMDocument 可靠地将所有图像网址从标准 HTTP 更新为 HTTPS。 DOMDocument 使一个难题看起来异常简单……但我花了一段时间才发现一个副作用:UTF-8 字符被突变为另一组字符。我在每篇博文中看到了一堆奇怪的字符,例如“ãç³”和“»ã®é”。

我知道问题是在 DOMDocument 解析过程中发生的,我需要尽快找到解决办法。解决方案只是一小段代码:

// Create a DOMDocument instance 
$doc = new DOMDocument();

// The fix: mb_convert_encoding conversion
$doc->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));

使用 mb_convert_encoding 设置字符集后,奇数字符消失,想要的角色回到原位。呸!

未经允许不得转载:我爱分享网 » DOMDocument 和 UTF-8 问题

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏