zoukankan      html  css  js  c++  java
  • 通过demo搞懂encode_utf8和decode_utf8

    perl 编码问题;
    
    use utf8表示代码使用UTF-8写的
    
    [root@wx03 0710]# cat a1.pl 
    #use utf8;
    my $str='测试utf8字符集';
    print  $str."
    ";
    [root@wx03 0710]# perl a1.pl 
    测试utf8字符集
    
    
    [root@wx03 0710]# cat a1.pl 
    use utf8;
    my $str='测试utf8字符集';
    print  $str."
    ";
    [root@wx03 0710]# perl a1.pl 
    Wide character in print at a1.pl line 3.
    测试utf8字符集
    
    
    [root@dr-mysql01 0710]# cat a1.pl 
    use utf8;
    my $a='验证';
    print  $a."
    ";
    
    my $b=$a;
    #my $b=encode_utf8($a);
    
    
    my $url="http://192.168.32.101:3000/api/getcode?env=zj&phone=18072722237";
    use  LWP::UserAgent;
    use Encode;
    #use utf8;
     
     my $ua = LWP::UserAgent->new;
     $ua->timeout(10);
     $ua->env_proxy;
     $ua->agent("Mozilla/8.0");
    
     my $response = $ua->get($url);
    
    
    
     if ($response->is_success) {
      $r= $response->decoded_content;  # or whatever
      print "$r is $r
    ";
      }
      else {
       die $response->status_line;
       };
    
    if ($r =~/$b/){print "11111111111
    "};
    [root@dr-mysql01 0710]# perl a1.pl 
    Wide character in print at a1.pl line 3.
    验证
    $r is [["18072722237","ZJ没有找到需要的验证码信息"]]
    
    
    此时没有匹配到
    
    [root@dr-mysql01 0710]# cat a1.pl 
    use utf8;
    my $a='验证';
    print  $a."
    ";
    
    #my $b=$a;
    my $b=encode_utf8($a);
    
    
    my $url="http://192.168.32.101:3000/api/getcode?env=zj&phone=18072722237";
    use  LWP::UserAgent;
    use Encode;
    #use utf8;
     
     my $ua = LWP::UserAgent->new;
     $ua->timeout(10);
     $ua->env_proxy;
     $ua->agent("Mozilla/8.0");
    
     my $response = $ua->get($url);
    
    
    
     if ($response->is_success) {
      $r= $response->decoded_content;  # or whatever
      print "$r is $r
    ";
      }
      else {
       die $response->status_line;
       };
    
    if ($r =~/$b/){print "11111111111
    "};
    [root@dr-mysql01 0710]# perl a1.pl 
    Wide character in print at a1.pl line 3.
    验证
    $r is [["18072722237","ZJ没有找到需要的验证码信息"]]
    11111111111
    
    此时匹配到了
    
    
    在看看mojo里的 默认使用utf8;
    
    
    
    
    此时返回空:[root@wx03 ~]# curl http://120.55.118.6:3000/admin/api/menu
    [][root@wx03 ~]# 
    
    [root@wx03 mojo]# cat test.pl 
    use Mojolicious::Lite;
    use JSON qw/encode_json decode_json/;  
    use Encode;
    no strict;
    use JSON; 
    use Data::Dumper;
    # /foo?user=sri
     get '/admin/api/menu' => sub {
              my $c = shift;
              print "测试更健康
    ";
             open (LOG1 ,"<",'/data01/applog_backup/zj-api01-catalina.out') or die  $!;
                         while (<LOG1>) {
                                            my $phone='18072722237';
    					#2016-03-09 09:35:12,380 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为132435,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
    								 
    					if ( ($phone) and ($_ =~/$phone/) and ($_ =~/SMSUtils/) ){$str=$_;
    					
    			 #		my $d=encode_utf8('验证');
    					my $d='验证';
                                            
    					print "1-------$str is $str
    ";
    					next if ($str !~ /$d/);
    					print "2--------$str is $str
    ";
    					push (@arr1 ,decode_utf8($str));
    					}};
    					
    					close LOG1;
              $c->render(json =>  @arr1 );
    };
    				   
    
    
      app->start;
      
     /************************************************************************************
    [root@wx03 mojo]# cat test.pl 
    use Mojolicious::Lite;
    use JSON qw/encode_json decode_json/;  
    use Encode;
    no strict;
    use JSON; 
    use Data::Dumper;
    # /foo?user=sri
     get '/admin/api/menu' => sub {
              my $c = shift;
              print "测试更健康
    ";
             open (LOG1 ,"<",'/data01/applog_backup/zj-api01-catalina.out') or die  $!;
                         while (<LOG1>) {
                                            my $phone='18072722237';
    					#2016-03-09 09:35:12,380 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为132435,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
    								 
    					if ( ($phone) and ($_ =~/$phone/) and ($_ =~/SMSUtils/) ){$str=$_;
    					
    			 		my $d=encode_utf8('验证');
    				#	my $d='验证';
                                            
    					print "1-------$str is $str
    ";
    					next if ($str !~ /$d/);
    					print "2--------$str is $str
    ";
    					#push (@arr1 ,decode_utf8($str));
    					push (@arr1 ,$str);
    					}};
    					
    					close LOG1;
              $c->render(json =>  @arr1 );
    };
    				   
    
    
      app->start;
    
    
    
    
    此时返回乱码:
    [root@wx03 ~]# curl http://120.55.118.6:3000/admin/api/menu
    ["2016-04-22 11:02:01,259 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为813231,本验证码30分钟内有效。 to phoneNo:18072722237 succeed!
    ","2016-04-22 11:02:01,259 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为813231,本验证码30分钟内有效。 to phoneNo:18072722237 succeed!
    "][root@wx03 ~]#  
      
    /************************************************************************************
    [root@wx03 mojo]# cat test.pl 
    use Mojolicious::Lite;
    use JSON qw/encode_json decode_json/;  
    use Encode;
    no strict;
    use JSON; 
    use Data::Dumper;
    # /foo?user=sri
     get '/admin/api/menu' => sub {
              my $c = shift;
              print "测试更健康
    ";
             open (LOG1 ,"<",'/data01/applog_backup/zj-api01-catalina.out') or die  $!;
                         while (<LOG1>) {
                                            my $phone='18072722237';
    					#2016-03-09 09:35:12,380 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为132435,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
    								 
    					if ( ($phone) and ($_ =~/$phone/) and ($_ =~/SMSUtils/) ){$str=$_;
    					
    			 		my $d=encode_utf8('验证');
    				#	my $d='验证';
                                            
    					print "1-------$str is $str
    ";
    					next if ($str !~ /$d/);
    					print "2--------$str is $str
    ";
    					push (@arr1 ,decode_utf8($str));
    					}};
    					
    					close LOG1;
              $c->render(json =>  @arr1 );
    };
    				   
    
    
      app->start;
      
      
      此时返回:
      
      ][root@wx03 ~]# curl http://120.55.118.6:3000/admin/api/menu
    ["2016-04-22 11:02:01,259 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为813231,本验证码30分钟内有效。 to phoneNo:18072722237 succeed!
    ","2016-04-22 11:02:01,259 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为813231,本验证码30分钟内有效。 to phoneNo:18072722237 succeed!
    "][root@wx03 ~]# 
    
    
    
      

  • 相关阅读:
    scan design rules
    scan cell
    DFT basics
    测试性分析
    DFT设计绪论
    clock gate cell
    Linux命令
    Multi-voltage和power gating的实现
    Power Gating的设计(架构)
    Power Gating的设计(模块二)
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199648.html
Copyright © 2011-2022 走看看