PHP爬虫-具有不同编码的站点存在问题

PHP爬虫-具有不同编码的站点存在问题,php,encoding,utf-8,web-crawler,multilingual,Php,Encoding,Utf 8,Web Crawler,Multilingual,我正在建立一个关键字密度分析器。我已经建立了一个关键字分析器,它可以很好地与具有英语内容和UTF-8编码的网站配合使用。当我在myegy.com这样的网站上爬行时,阿拉伯语关键词会在我的网站上显示为问号。我尝试过iconv和mb_convert_字符串,但它们都不起作用 我需要帮助创建一个关键字密度程序,它能够抓取所有语言和编码,并用utf-8编码将它们存储在数据库中,然后显示回来 我是一个新的编码,所以你的帮助将非常感谢 在我的页面上显示为����� 和iconv->ÈÌæÏÉ。它应该以阿拉伯

我正在建立一个关键字密度分析器。我已经建立了一个关键字分析器,它可以很好地与具有英语内容和UTF-8编码的网站配合使用。当我在myegy.com这样的网站上爬行时,阿拉伯语关键词会在我的网站上显示为问号。我尝试过iconv和mb_convert_字符串,但它们都不起作用

我需要帮助创建一个关键字密度程序,它能够抓取所有语言和编码,并用utf-8编码将它们存储在数据库中,然后显示回来

我是一个新的编码,所以你的帮助将非常感谢


在我的页面上显示为����� 和iconv->ÈÌæÏÉ。它应该以阿拉伯语显示,但我无法显示,因为阿拉伯语显示为问号

myegy.com使用windows-1256编码。Iconv支持它。只要找到声明并正确使用
iconv
,它就应该可以工作

当在网络上爬行时,你会发现很多不同的编码,其中一些会被错误地命名,一些是伪造的。许多页面将缺少编码声明,并依赖浏览器猜测编码

如果您希望尽可能支持所有编码,则需要实现HTML5编码检测算法:


还要注意,PHP的内置
DOMDocument::loadHTML()
支持很少的编码。您必须首先将文档(以及其中的编码声明)转换为UTF-8。

当您说您尝试了iconv时,您做了什么?你需要阅读内容类型标题和“内容类型”元标记以找到指定编码的位置,然后根据检测到的编码进行iconv。我尝试过使用mb_Detect_编码,以及实际从网站标题获取编码并手动输入。什么都没用。