每天学习一点点,成功增加一大步

PHP 远程抓取网页中的中文乱码

PHP zhanghui 460℃

前几天突然想到一个有意思的想法,想将网络上的有关编程方面的技术性的文章及资源都汇集起来,虽然说浏览器的收藏夹也可以做到,但资源多了一眼望去感觉乱成一锅粥,很久以前收藏的和最近收藏的都混合在一起了,不方便查找,于是呼试试做个采集器。

我使用了PHP的CURL来抓取远端的页面,当然PHP里面还有其他的方法,比如说file_get_content或是fopen等都行。刚开始还挻顺利,不过后来发现在抓取后的数据在录入数据库时报错,经过跟踪发现有个别页面的数据出现了乱码。

在网络上搜索了一遍,曾尝试过在CURL里面设置 curl_setopt($ch, CURLOPT_ENCODING, “”); 还是没有起作用,
最后找到的解决方法是:将获取后的数据进行编码转换:
$this->html_code = mb_convert_encoding($this->html_code, ‘UTF-8’, ‘UTF-8,GBK,GB2312,BIG5’);
这也可能是我这框架用的是UTF-8的原因也有关。
在此做个记录,方便日后查询

转载请注明:隨習筆記 » PHP 远程抓取网页中的中文乱码