1

Ruby cucumber を使用してアプリケーションを自動化しています。DSN ODBC ドライバーと「dbi」を使用して、SQL Server 2012 DB に接続しています。正常に接続され、レコードを取得できます。しかし、Ruby スクリプトでテーブルから Unicode (utf-8) データを取得しようとすると、文字化け ( ???????) が発生します。

DB からユニコード文字を取得するのを手伝ってください。

以下は、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
4

1 に答える 1

0

env.rbファイルの次の行で修正される同様の問題がありました

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