+ -
当前位置:首页 → 问答吧 → 一个关于中文编码的问题,和一个图形界面显示网页的问题

一个关于中文编码的问题,和一个图形界面显示网页的问题

时间:2010-10-24

来源:互联网

本帖最后由 Hacksign 于 2010-10-24 14:43 编辑

写了一个程序,功能是通过百度查询相应的关键字,然后在打印出来.下面是程序:
  1. use strict;
  2. use LWP;
  3. use HTML::Parser;
  4. use HTML::TreeBuilder;
  5. use Encode;

  6. my $browser = LWP::UserAgent->new;

  7. my $respone = $browser->get('http://www.baidu.com/s?wd= 关键词);
  8. my $tree = HTML::TreeBuilder->new;

  9. sub get{
  10.         if($respone->is_success){
  11.                 open OUTFILE,'>e:\google.html' or die "cannot open";
  12.                 print OUTFILE $respone->content;
  13.                 $tree->parse_file('e:\google.html');

  14.                 my $txt = $tree->as_text();
  15.                 print "content:".decode("gb2312",$txt)."\n";
  16.         }else{
  17.                 print "error:".$respone->status_line."\n";
  18.         }
  19. }


  20. get()
复制代码
但是运行的时候出现以下错误:
cmd.exe /c perl e:\Code\perl\tools.pl
Wide character in subroutine entry at D:/Perl/lib/Encode.pm line 174.
shell returned 9
Hit any key to close this window...

直接打印$txt的话,中文全部都是乱码.
请问如何解决?

另外一个问题:
我想在tkx中(或者任何其他的图形界面)显示一个网页,怎么弄?

作者: Hacksign   发布时间: 2010-10-24

你是不是应该先关闭 OUTFILE ?

作者: zhlong8   发布时间: 2010-10-24