2014-01-09 47 views
0

我在遺留數據庫中有很多記錄,我需要使用ISO-1889-1格式將該數據導出爲CSV,因爲有西班牙文字符。Ruby/Rails:如何刪除字符串中的所有unicode?

但是,將它轉換爲utf-8爲iso時,它會一直拋出不能轉換某些字符的錯誤。例如:

Encoding::UndefinedConversionError - U+2026 from UTF-8 to ISO-8859-1

這發生在這條線在我的控制器:

send_data(data.encode("iso-8859-1"), filename: "books_data_#{date}.csv", type: 'text/csv; charset=iso-8859-1; header=present')

要解決此問題,個別我只是做string.gsub!("…", "")。是否有一種更普遍的方式來刪除所有的ruby字符串中的unicode?如果出現新的Unicode字符,那麼對每個出現的信息手動執行操作都不完整,難看,也不容易維護。就是想。

回答

1

您是否在尋找String::encode

irb(main):011:0> "Здравствуйте Stack Overflow!".encode("iso-8859-1", undef: :replace, replace: "") 
=> " Stack Overflow!" 
相關問題