我得到一個錯誤U+2014 from UTF-8 to ISO-8859-1
當我嘗試使用send_data
一個CSV有西班牙字符:紅寶石CSV +西班牙語特點:編碼:: UndefinedConversionError
型號:
def self.books_data(books)
csv = CSV.generate(:col_sep => "|", quote_char: '"') do |csv|
...
end
csv
end
控制器:
def export_data
...
data = CsvGenerator.books_data(@books)
send_data(data.encode("iso-8859-1"), filename: "books_data_#{date}.csv", type: 'text/csv; charset=iso-8859-1; header=present') #<-- error occurs here
end
我該如何解決這個問題?
=== UPDATE ===
我想用.force_encoding
更換.encode
我半固定它。不過,我現在有很多字符看起來不正確的:
例如:該文件包含: My Diary from Here to There/Mi diario de aqui hasta allá
時,它應該看起來像
My Diary from Here to There/Mi diario de aqui hasta allá
你可以嘗試'SEND_DATA(data.encode( 「ISO-8859-1」),文件名: 「books_data _#{日期和時間}的.csv」,輸入:「文本/ CSV;字符集=異8859-1; header = present',{:invalid =>:replace,:undef =>:replace,:replace =>'?'})' – zrl3dx
它表示語法錯誤。我認爲這是圍繞無效的{}'括起來的。我刪除了它們,並再次嘗試,但沒有語法錯誤,但是當我嘗試生成文件時,錯誤仍然出現 – Edmund
Hey @ zrl3dx我半固定它。對第二個問題有什麼建議? – Edmund