mysql utf8 中文问题:
zabbix:/root/sbin# cat a1.pl 
use DBI;
my $dbUser='DEVOPS';
my $user="root";
my $passwd="kjk123123";
my $dbh  = DBI->connect("dbi:mysql:database=DEVOPS;host=192.168.11.185;port=3306",$user,$passwd) or die "can't connect to database ". DBI-errstr;
##防止utf-8中文乱码
@arr2=();
#$dbh->do("SET NAMES utf8");
my $hostSql = qq{select  IP,INFO,ENV from  machine_info where env='esx-192.168.4.41'};
my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9);
my $selStmt = $dbh->prepare($hostSql);
$selStmt->execute();
$selStmt->bind_columns(undef, \$a1, \$a2, \$a3);
print "$a1,$a2,$a3\n";
print "11111111111111111\n";
 while( $selStmt->fetch() )
 { push (@arr2, "$a1  $a2  $a3\n" );
 };
print @arr2;


此时乱码

zabbix:/root/sbin# perl a1.pl 
,,
11111111111111111
192.168.11.134  BI?????????  esx-192.168.4.41
192.168.11.106  ?????????  esx-192.168.4.41
192.168.10.163  ?????1????  esx-192.168.4.41
192.168.10.164  ?????2????  esx-192.168.4.41
192.168.10.107  bj-nginx  esx-192.168.4.41
192.168.10.161  ????app?????  esx-192.168.4.41
192.168.10.162  ????db?????  esx-192.168.4.41
192.168.10.145  ??-?????????  esx-192.168.4.41
192.168.10.132  ?pms??db????  esx-192.168.4.41
192.168.10.223  pms-luopan2????  esx-192.168.4.41
192.168.10.241  yunying-app?????  esx-192.168.4.41
192.168.10.242  yunying-db?????  esx-192.168.4.41
192.168.11.157  ntp1  esx-192.168.4.41
192.168.11.158  ntp2  esx-192.168.4.41
192.168.11.161  liuyanqiang-test  esx-192.168.4.41
192.168.10.52  NC???????  esx-192.168.4.41
192.168.10.51  NC???????  esx-192.168.4.41
192.168.10.53  NC????????  esx-192.168.4.41


开启utf8:
$dbh->do("SET NAMES utf8");
zabbix:/root/sbin# perl a1.pl 
,,
11111111111111111
192.168.11.134  BI远程配置(何易泽)  esx-192.168.4.41
192.168.11.106  北京测试机(北京)  esx-192.168.4.41
192.168.10.163  拓购巨省心1(北京)  esx-192.168.4.41
192.168.10.164  拓购巨省心2(北京)  esx-192.168.4.41
192.168.10.107  bj-nginx  esx-192.168.4.41
192.168.10.161  智控中央app(杨晶鹏)  esx-192.168.4.41
192.168.10.162  智控中央db(杨晶鹏)  esx-192.168.4.41
192.168.10.145  智控-拓购专用(杨晶鹏)  esx-192.168.4.41
192.168.10.132  新pms培训db(沈波)  esx-192.168.4.41
192.168.10.223  pms-luopan2(沈波)  esx-192.168.4.41
192.168.10.241  yunying-app(杨晶鹏)  esx-192.168.4.41
192.168.10.242  yunying-db(杨晶鹏)  esx-192.168.4.41
192.168.11.157  ntp1  esx-192.168.4.41
192.168.11.158  ntp2  esx-192.168.4.41
192.168.11.161  liuyanqiang-test  esx-192.168.4.41
192.168.10.52  NC人事应用服务器  esx-192.168.4.41
192.168.10.51  NC财务应用服务器  esx-192.168.4.41
192.168.10.53  NC财务数据库服务器  esx-192.168.4.41


或者:

zabbix:/root/sbin# cat a1.pl 
use DBI;
use Encode;
my $dbUser='DEVOPS';
my $user="root";
my $passwd="kjk123123";
my $dbh  = DBI->connect("dbi:mysql:database=DEVOPS;host=192.168.11.185;port=3306",$user,$passwd,{mysql_enable_utf8 => 1}) or die "can't connect to database ". DBI-errstr;
##防止utf-8中文乱码
@arr2=();
#$dbh->do("SET NAMES utf8");
my $hostSql = qq{select  IP,INFO,ENV from  machine_info where env='esx-192.168.4.41'};
my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9);
my $selStmt = $dbh->prepare($hostSql);
$selStmt->execute();
$selStmt->bind_columns(undef, \$a1, \$a2, \$a3);
print "$a1,$a2,$a3\n";
print "11111111111111111\n";
 while( $selStmt->fetch() )
 {$a2=encode_utf8($a2); push (@arr2, "$a1  $a2  $a3\n" );
 };
print @arr2;
zabbix:/root/sbin# perl a1.pl 
,,
11111111111111111
192.168.11.134  BI远程配置(何易泽)  esx-192.168.4.41
192.168.11.106  北京测试机(北京)  esx-192.168.4.41
192.168.10.163  拓购巨省心1(北京)  esx-192.168.4.41
192.168.10.164  拓购巨省心2(北京)  esx-192.168.4.41
192.168.10.107  bj-nginx  esx-192.168.4.41
192.168.10.161  智控中央app(杨晶鹏)  esx-192.168.4.41
192.168.10.162  智控中央db(杨晶鹏)  esx-192.168.4.41
192.168.10.145  智控-拓购专用(杨晶鹏)  esx-192.168.4.41
192.168.10.132  新pms培训db(沈波)  esx-192.168.4.41
192.168.10.223  pms-luopan2(沈波)  esx-192.168.4.41
192.168.10.241  yunying-app(杨晶鹏)  esx-192.168.4.41
192.168.10.242  yunying-db(杨晶鹏)  esx-192.168.4.41
192.168.11.157  ntp1  esx-192.168.4.41
192.168.11.158  ntp2  esx-192.168.4.41
192.168.11.161  liuyanqiang-test  esx-192.168.4.41
192.168.10.52  NC人事应用服务器  esx-192.168.4.41
192.168.10.51  NC财务应用服务器  esx-192.168.4.41
192.168.10.53  NC财务数据库服务器  esx-192.168.4.41

更多相关文章

  1. Qt中使用mysql连接远程服务器
  2. 新手求学:用VF如何去添加、删除、修改SQL Server服务器数据库中表
  3. oracle:使用cmd命令在远程oracle服务器上执行sql语句
  4. 如何使用SQL语句查到当前SQL SERVER 2000服务器的IP地址
  5. SQL Pass北京举办第10次线下活动,欢迎报名
  6. 外网远程连接局域网内的多台SQL服务器,请各位帮忙解答,谢谢!
  7. 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(2-1)Servlet
  8. 测试Android真机访问电脑主机web项目服务器的问题
  9. 使用AndServer在Android上搭建Web服务器

随机推荐

  1. 设计一个c++ 通用链表:实现多态双向的功能
  2. 采用 C# 编写的学委助手详解及实例
  3. C++实现贪吃蛇游戏的详细步骤及实战演示
  4. Thinking in C++ 第一卷阅读全书笔记重点
  5. C/C++区别有哪些?很多人都不知道的比较方
  6. 原来斐波拉契数列还有这种写法,你知道吗?
  7. C++_STL常用容器总结:对组pair中关联容器
  8. c/c++字符串函数是什么类型和它是如何转
  9. 详细介绍C# 中 ASP.NET Web API 的 ROC
  10. CSS选择器有哪些?CSS选择器优先级判定