看板 Perl 關於我們 聯絡資訊
各位高手 小弟目前是這以下方法來解決目前編碼未知的情形 以下程式碼 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
buganini:網頁的話,<head>裡面應該也有東西可以參考吧 不一定要 10/26 01:39
buganini:用猜的 10/26 01:40