(很抱歉,如果對於新手的問題...我已經做了相當多的研究,誠實...)如何安全解析Ruby/Rails中的多字節Feed?
我正在寫一些Ruby on Rails的代碼來解析RSS/ATOM供稿。我的代碼正在討論一個討厭的'£'符號。
我一直在做任何事情之前正常化飼料的說明和標題字段的方法:
descr = self.description.mb_chars.normalize(:kc)
然而,當它擊中與「£」的字符串,我猜mb_chars遇到問題並返回一個常規的Ruby String對象。我得到的錯誤:
undefined method `normalize' for #<String:0x5ef8490>
那麼防禦性地準備這些字符串插入到數據庫中的最佳過程是什麼? (我也需要對它們進行一堆字符串處理)
我的問題是複雜的,我不知道我正在處理的Feed的格式。舉例來說,我已經有一些運氣以下行:
descr = Iconv.new('UTF-8//IGNORE', 'UTF-8').iconv descr
然而,當它遇到的「£」在那之後它只是截斷的一切。
當我用String.inspect函數顯示'£'符號時,它顯示在'\ 243'處。如果未能正確處理此符號的方法,我很樂意將其替換爲另一個值(如「GBP」)。所以,與該代碼的幫助,將不勝感激。
有問題的飼料是http://www.dailymail.co.uk/sport/football/index.rss