发布网友 发布时间:2022-04-06 03:04
共3个回答
热心网友 时间:2022-04-06 04:33
我晕根本没问题,你的php页面(.php页面)如果本身就是utf8编码,那么采集出来的utf8页面就不是乱码
如果你的php页面是gbk,那么采集的需要iconv('utf-8','gbk',$str)转换,这跟php一点关系也没有。
说句你不爱听的,之所以你会问这种问题,只能说你对于文字编码的基础知识还不过关,或者无法从底层解释什么是文字编码。
---------------补充
巧了,我最近也在写一个抓取引擎,目前可以抓取国内主流几大博客、还有若干新闻网站的新闻,当然也是通过自定义的规则文件。我的做法是,在规则文件就指定这个网站是什么编码,而在抓取引擎内部,统一使用utf-8编码,这样统一的输入输出,就可以杜绝乱码现象的存在。
我可以给你看看我写的HTML类的构造函数,可能对你有帮助:
function __construct($url, $incharset = null, $baseurl = null, $method = 'get', $postarr = null) {}
-------------------
我的抓取引擎已经支持通过规则,一层层往里点了。
热心网友 时间:2022-04-06 05:51
gb2312 的网页(PHP)采集 UTF8 网页发生乱码时候可以转换一下
(举个例子)
$cnt = fopen("http://www.baidu.com");
// 若是乱码这样处理
echo(iconv("utf-8","bg2312",$cnt));
// 若不是乱码这样处理
echo($cnt);
热心网友 时间:2022-04-06 07:26
恩 已经解决了 可以用了