1

我正在使用 Ruby cucumber 来自动化我的应用程序。我正在使用 DSN ODBC 驱动程序和“dbi”连接到我的 sql server 2012 DB。它连接成功,我可以得到记录。但是,当我尝试从 ruby​​ 脚本中的表中获取 unicode (utf-8) 数据时,我得到了垃圾字符 ( ???????)。

请帮我从数据库中获取 unicode 字符。

下面是我用来连接和从数据库检索数据的代码。

# 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
4

1 回答 1

0

我有类似的问题,已通过 env.rb 文件中的以下行修复

ENV['CUCUMBER_OUTPUT_ENCODING'] = 'UFT-8'
于 2012-11-30T13:09:25.470 回答