Re: [問題] 請問抓網頁並去除html tag後 出現亂碼?

看板Perl作者 (努力吧)時間17年前 (2007/10/26 00:46), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串4/5 (看更多)
各位高手 小弟目前是這以下方法來解決目前編碼未知的情形 以下程式碼 use Encode; use Encode::Guess; #第一個網址是utf編碼格式 #$webhttp = "http://blog.roodo.com/judie35/archives/270979.html"; #第二個網址是big-5 (也就是不需要decode) $webhttp = "http://news.pchome.com.tw/entertainment/udn/20071025/index-20071025151243038787.html"; $mech = WWW::Mechanize->new(); $mech->get($webhttp); $html=$mech->content(); $enc = guess_encoding($html, qw/big5-eten utf8/); #print $enc->name; if ($enc->name eq "utf8") {$html2 = decode($enc->name,$html);} else {print $html;} print $html2; ------------------------------------------------------------------------------ 請問還有更快的方式嗎? 這樣是先做判斷 如果是uft再做decode 不是的話就直接print出來 不知道有沒有更好、更快的作法~ 謝謝各位~ ※ 引述《LiloHuang (相見不如懷念)》之銘言: : 解決不曉得原本是啥編碼但是想要轉成UTF8 : 可以使用Encode::Guess : use Encode::Guess; : my $enc = guess_encoding("中文", qw/big5-eten utf8/); : print $enc->name; : 詳細內容請參考 : http://search.cpan.org/~dankogai/Encode-2.23/lib/Encode/Guess.pm -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.10.182

10/26 01:39, , 1F
網頁的話,<head>裡面應該也有東西可以參考吧 不一定要
10/26 01:39, 1F

10/26 01:40, , 2F
用猜的
10/26 01:40, 2F
文章代碼(AID): #178CXsHR (Perl)
文章代碼(AID): #178CXsHR (Perl)