$response->decoded_content 和$response->content

   print $response->decoded_content;
   print $response->content;


GBK 环境:




  my  $user="root";  
  my  $passwd="1234567";  
  $dbh = DBI->connect("dbi:mysql:database=licai;host=127.0.0.1;port=3306",$user,$passwd) or die "can't connect to  database ". DBI-errstr;  
  $dbh->do("SET NAMES utf8"); 
   my $ua = LWP::UserAgent->new;  
   $ua->timeout(10);  
   $ua->env_proxy;  
   $ua->agent("Mozilla/8.0");  
   my $response = $ua->get('https://licai.yingyinglicai.com/product/list.htm') || die;  
       #print $response->decoded_content;
       print $response->content;



use Encode;
  my  $user="root";  
  my  $passwd="1234567";  
  $dbh = DBI->connect("dbi:mysql:database=licai;host=127.0.0.1;port=3306",$user,$passwd) or die "can't connect to  database ". DBI-errstr;  
  $dbh->do("SET NAMES utf8"); 
   my $ua = LWP::UserAgent->new;  
   $ua->timeout(10);  
   $ua->env_proxy;  
   $ua->agent("Mozilla/8.0");  
   my $response = $ua->get('https://licai.yingyinglicai.com/product/list.htm') || die;  
       my $str= $response->decoded_content;
         $str=encode_utf8("$str");
        $str=  encode("gbk",decode("utf8","$str"));
        print $str;
       #print $response->content;
node2:/root/pachong/yylc#
正常



   my $response = $ua->get('https://licai.yingyinglicai.com/product/list.htm') || die;  
      print $response->decoded_content;

   乱码:




$mess->content( $bytes )
The content() method sets the raw content if an argument is given. If no argument is given the content is not touched. In either case the original raw content is returned.

Note that the content should be a string of bytes. Strings in perl can contain characters outside the range of a byte. The Encode module can be used to turn such strings into a string of bytes.



content()方法设置 原始内容 如果一个参数被给定。

如果没有参数给定,在任何一种情况 原始raw内容是被返回。



注意 内容应该是一个字符串, 字符串在Perl可以包含字符 在一个字节范围之外。

Encode 模块可以用于转换这样的字符串为 字节字符串


$mess->decoded_content( %options ):



原文地址:https://www.cnblogs.com/hzcya1995/p/13349799.html