PHP如何将字符串从DomCrawler转换为UTF-8


PHP How to convert strings from DomCrawler to UTF-8

我用DomCrawler收集了一些数据,并将其存储在数组中,但当涉及到è、à、ï等特殊字符时,他似乎失败了。

作为一个例子,当我回显结果时,我得到的是è而不是è

当我将结果存储在.json文件中时,我得到的是:'u00c3'u00a8我的目标是将特殊字符保存在.json文件中。

我试过对它进行编码,但似乎没有得到我想要的结果。

$html = file_get_contents($url);
$crawler = new Crawler($html);
$h1 = $crawler->filter('h1');
$title = $h1->text();
$title = mb_convert_encoding($title, "HTML-ENTITIES", "UTF-8");

有没有什么可以让我展示我的特殊角色?

非常感谢!

通过使用构造函数添加HTML,爬网程序假设它在ISO-8859-1中。您必须使用addHTMLContent方法明确地告诉它您的DOM是UTF-8格式的:

$html = file_get_contents($url);
$crawler = new Crawler;
$crawler->addHTMLContent($html, 'UTF-8');