2012-03-27 49 views
0

我在1.9模式下遇到JRuby問題。我想拿幾個CSV通過HTTPJRuby Net:Http在響應主體中遇到unicode字符問題

Net::HTTP.start(csv_uri.host) do |http| 
    puts http.get(csv_uri.path).body 
    File.open(csv_file_path, "w") { |csv| csv.write(http.get(csv_uri.path).body) } 
end 

作爲迴應,我看到的地方波蘭語字符「A」的奇怪字符的文件,「S」等是否有可能得到這個數據在JRuby中有合適的字符編碼?

回答

0

您期待的數據是UTF-8還是iso-8859-2?根據不同的編碼,你可能必須強制編碼要麼:

http.get(csv_uri.path).body.encode(Encoding::UTF_8) 

http.get(csv_uri.path).body.encode(Encoding::ISO_8859_2) 
+0

我擔心它不適合我。 – Sebastian 2012-03-28 10:32:44

+0

@Sebastian你知道csv文件的編碼是什麼,或者我們可以在某處訪問該文件嗎?你使用的是什麼版本的jruby? – 2012-03-28 11:25:24

+0

CSV使用UTF8格式。 – Sebastian 2012-03-28 16:49:31

0

也許這個問題是在書面文件?嘗試

File.open(csv_file_path,「w:utf-8」)