Ruby 为什么我的 RUBY 读取 mysql,输出时为空?

lin_style · 2012年04月11日 · 2571 次阅读

首先 mysql 字符集设置为 utf-8 了。并且用 SQLyog 查看,也能看到插入的正确中文 ruby 代码如下

require 'mysql'   
begin  
   dbh = Mysql.real_connect("localhost", "root", "11111", "test",3306)   

## 创建表,插入计录,查询计录   
dbh.query("drop table if exists test_rb")   
dbh.query("create table test_rb(id int,name char(20))")   
dbh.query("SET NAMES UTF8") 
dbh.query("insert into test_rb values(1,'张三'),(2,'李四')")   

printf "%d rows were inserted\n",dbh.affected_rows   
   res = dbh.query("SELECT name FROM test_rb")   
puts "========\n"  
while row = res.fetch_row do   
printf "%s, %s\n", row[0], row[1]   
end   
puts "========\n"  
puts "Server version: " + dbh.get_server_info   
rescue Mysql::Error => e   
puts "Error code: #{e.errno}"   
puts "Error message: #{e.error}"   
puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")   
ensure   
dbh.close if dbh

end 

输出结果:

2 rows were inserted

,

,

Server version: 5.5.20

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号