zoukankan      html  css  js  c++  java
  • Wide character in print at check_cert.pl line 18.

    [oracle@yyjk md]$ cat check_cert.pl 
    use DBI; 
    use Encode;
    no utf8;
    my  $dbName = 'tlyy';  
    my  $dbUser = 'tlcbuser';  
    my  $dbUserPass = 'tlcbuser';  
    my  $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database " ;
    my $hostSql = qq{select trim(a.name),to_char(a.expired_date),round( expired_date - sysdate) as vardate from tlcb_cert_device a};
    my ($a,$b,$c);
    my $selStmt = $dbh->prepare($hostSql);  
    $selStmt->bind_columns(undef, $a, $b, $c);  
    $selStmt->execute();  
    while( $selStmt->fetch() ){ 
            if ($c < 30){
               my $hint='证书到期日期还有';
                  $hint=decode_utf8($hint);
                   #$a=decode_utf8("$a");
                  print "$a"."---"."$b"."---"."$hint"."$c"."
    ";;
    
    }};  
    $selStmt->finish;  
    $dbh->disconnect or warn "DB disconnect failed: $DBI::errstr
    ";
    
    [oracle@yyjk md]$ perl check_cert.pl 
    Wide character in print at check_cert.pl line 18.
    二代支付证书---15-11月-16---证书到期日期还有-239
    Wide character in print at check_cert.pl line 18.
    二代支付证书---15-11月-16---证书到期日期还有-239
    Wide character in print at check_cert.pl line 18.
    支付宝证书---06-8月 -17---证书到期日期还有25
    Wide character in print at check_cert.pl line 18.
    管理员usbkey证书---10-1月 -17---证书到期日期还有-183
    Wide character in print at check_cert.pl line 18.
    分析员usbkey证书---10-1月 -17---证书到期日期还有-183
    
    
    解决办法:
    use DBI; 
    use Encode;
    use utf8;
    binmode(STDIN, ':encoding(utf8)');
    binmode(STDOUT, ':encoding(utf8)');
    binmode(STDERR, ':encoding(utf8)');
    my  $dbName = 'tlyy';  
    my  $dbUser = 'tlcbuser';  
    my  $dbUserPass = 'tlcbuser';  
    my  $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database " ;
    my $hostSql = qq{select trim(a.name),to_char(a.expired_date),round( expired_date - sysdate) as vardate from tlcb_cert_device a};
    my ($a,$b,$c);
    my $selStmt = $dbh->prepare($hostSql);  
    $selStmt->bind_columns(undef, $a, $b, $c);  
    $selStmt->execute();  
    while( $selStmt->fetch() ){ 
            if ($c < 30){
               my $hint='证书到期日期还有';
                  #$hint=decode_utf8($hint);
                   #$a=encode('utf8',"$a");
                  print "$a"."---"."$b"."---"."$hint"."$c"."
    ";;
    
    }};  
    $selStmt->finish;  
    $dbh->disconnect or warn "DB disconnect failed: $DBI::errstr
    ";
    
    
    [oracle@yyjk md]$ perl check_cert.pl 
    二代支付证书---15-11月-16---证书到期日期还有-239
    二代支付证书---15-11月-16---证书到期日期还有-239
    支付宝证书---06-8月 -17---证书到期日期还有25
    管理员usbkey证书---10-1月 -17---证书到期日期还有-183
    分析员usbkey证书---10-1月 -17---证书到期日期还有-183

  • 相关阅读:
    梦想总是要有的,万一实现了呢?(转)
    registered the JBDC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. (转)
    Memory Leak(内存泄漏)问题总结(转)
    单元测试(UT)、功能测试(FT)(转)
    算法——动态规划篇——最长公共子序列
    设计模式总结
    C/C++基本数据类型所占字节数
    extjs tree check 级联选择
    骨骼动画具体解释
    java设计模式演示样例
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349646.html
Copyright © 2011-2022 走看看