採集亂碼解決方案


出現亂碼的問題很多,解決方法也不盡相同,要視具體情況而定,以下幾種亂碼解決方案僅供參考。

一.使用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;