采集乱码解决方案
出现乱码的问题很多,解决方法也不尽相同,要视具体情况而定,以下几种乱码解决方案仅供参考。
一.使用QueryList内置的乱码解决方案
Query方法:
QueryList::Query(采集的目标页面,采集规则[,区域选择器][,输出编码][,输入编码][,是否移除头部])
1.设置输入输出编码
$HTML =<<<STR <div> <p>这是内容</p> </div> STR; $rule = array( 'content' => array('div>p:last','text') ); $data = QueryList::Query($html,$rule,'','UTF-8','gb2312',true)->data;
2.设置输入输出编码,并设置最后一个参数为true
如果设置输入输出参数仍然无法解决乱码,那就设置最后一个参数为true(移除头部)
$html =<<<STR <div> <p>这是内容</p> </div> STR; $rule = array( 'content' => array('div>p:last','text') ); $data = QueryList::Query($html,$rule,'','UTF-8','GB2312',true)->data;
二.查看QueryList论坛[乱码]相关主题解决方案
乱码:Http://querylist.cc/search/q-5Lmx56CB#all
三.自己手动转码页面,然后再把页面传给QueryList
$html =<<<STR <div> <p>这是内容</p> </div> STR; $rule = array( 'content' => array('div>p:last','text') ); $data = QueryList::Query($html,$rule,'','UTF-8','GB2312',true)->data;