0
使用的JRuby 1.6.4(紅寶石-1.9.2-P136)無法導入CSV(中國UTF-8)文件到DB正確使用JRuby和 「CSV」
的CSV文件UTF- 8編碼。 通常使用TextMate顯示的內容。
嘗試這個,但我得到的是亂碼插入到數據庫中的文本。
CSV.foreach(data_file_path, :headers=>false, :encoding=>"UTF-8", :col_sep=>"^") do |row|
# parse and write to DB
end
一些IRB信息:
irb(main):001:0> puts "你好"
你好
=> nil
irb(main):002:0> puts RUBY_VERSION
1.9.2
=> nil
irb(main):003:0>
這些工作:
jruby -e 'puts "你好"'
jruby --1.9 -e 'puts "你好"'
jruby -Ku -e 'puts "你好"'
使用相同的設置,我設法土耳其字符插入到數據庫中。所以,這個問題不像一個Ruby到數據庫寫入問題。
我懷疑問題在於CSV庫,自從v1.9.2(它曾經是一個名爲fasterCSV的外部庫)以來,它就是Ruby的一部分,因爲我可以在讀取文件後將文件輸出到控制檯。
我也嘗試在代碼塊的頂部插入#encoding:utf-8。