Re: [請益] 抓取"yahoo搜尋"原始碼,中文會無法顯示?
※ 引述《iamwni (魚只能甩尾...)》之銘言:
: 此程式檔有用utf-8格式儲存,程式如下:
: <?php
: header('Content-Type: text/html; charset=utf-8');
: $search_url = "http://tw.search.yahoo.com";
: $page = implode('', file($search_url));
: echo $page;
: ?>
: 有抓到原始碼,但中文卻無法顯示
: 但換抓取google的原始碼時,中文就可以正常顯示
: 試了好多種抓取的程式,結果都是一樣,不知是那裡出錯了
: 麻煩請高手幫幫忙吧!謝謝...
像是這種問題通常是header送出給對方時候沒有設定, 我是建議使用curl函數來抓取遠端
網頁
header('Content-Type: text/html; charset=utf-8');
$search_url = "http://tw.search.yahoo.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$search_url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT
5.1; zh-TW; rv:1.9) Gecko/2008052906 Firefox/3.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch ,CURLOPT_HTTPHEADER, array("Accept-Language:
zh-tw","Accept-Charset: utf-8"));
$content = curl_exec ($ch);
curl_close ($ch);
echo $content;
重點是CURLOPT_HTTPHEADER的設定要特別告知yahoo說..."對不起我只接受中文utf8喔"
USERAGENT可設定可不設定, 如果碰上一些還是看不到的網站, 可以加上USERAGENT試試看
--
海綿寶寶, 不要講話!派大星!
我覺得有人在盯著我們看... 你會害我們被發現!
★ ▉
JUNU
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.32.15
推
07/17 21:12, , 1F
07/17 21:12, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章