Đây là những gì tôi đang làm:của Ruby CSV UTF8 lỗi mã hóa trong khi đọc
csv = CSV.open(file_name, "r")
Tôi sử dụng này để thử nghiệm:
line = csv.shift
while not line.nil?
puts line
line = csv.shift
end
Và tôi chạy vào này:
ArgumentError: invalid byte sequence in UTF-8
Tôi đọc số answer here và đây là những gì tôi đã thử
csv = CSV.open(file_name, "r", encoding: "windows-1251:utf-8")
Tôi chạy vào báo lỗi sau:
Encoding::UndefinedConversionError: "\x98" to UTF-8 in conversion from Windows-1251 to UTF-8
Sau đó, tôi tình cờ gặp một viên ngọc Ruby - charlock_holmes. Tôi figured tôi muốn thử sử dụng nó để tìm mã hóa nguồn.
CharlockHolmes::EncodingDetector.detect(File.read(file_name))
=> {:type=>:text, :encoding=>"windows-1252", :confidence=>37, :language=>"fr"}
Vì vậy, tôi đã làm điều này:
csv = CSV.open(file_name, "r", encoding: "windows-1252:utf-8")
Và vẫn nhận điều này:
Encoding::UndefinedConversionError: "\x8F" to UTF-8 in conversion from Windows-1252 to UTF-8
Dường như [this] [1] có thể hoạt động. ---- [1]: http://stackoverflow.com/a/9361667/724516 – Vighnesh
Bạn có thể tải lên tệp csv của mình không? –