我正在使用Ruby黄瓜自动化我的应用程序。我正在使用DSN ODBC驱动程序和“dbi”连接到我的sql server 2012 DB。它连接成功,我可以获得记录。但是当我试图从ruby脚本中的表中获取unicode(utf-8)数据时,我会得到垃圾字符(???????
)。
请帮我从DB获取unicode字符。
下面是我用来连接和从DB检索数据的代码。
# encoding: UTF-8
require 'rubygems'
require 'DBI'
def run_select_query_verifyText(query,verifyString)
connection = nil
status = false
begin
#puts "Connecting to DataBase"
connection = DBI.connect('DBI:ODBC:ODBCDriver','test','xxxxx')
rescue DBI::DatabaseError => e
puts "An error occurred"
puts "Error code: #{e.err}"
puts "Error message: #{e.errstr}"
return false
end
#execute sql query
dataset = connection.execute(query)#.fetch_all
dataset.each do |row|
row.each do |data|
puts "cell data is #{data}"
if data == verifyString then
status = true
break
end
end
if status then
break
end
end
connection.disconnect
return status
end
答案 0 :(得分:0)
我遇到了类似的问题,修复了env.rb文件中的以下行
ENV['CUCUMBER_OUTPUT_ENCODING'] = 'UFT-8'