SimpleRSS gem を使用して WordPress RSS フィードを解析しています。唯一の問題は、フィード内の多くの文字が数値コードを使用してエンコードされていることです。
’
それ以外の
'
ファイル
*rss_helper.rb*
module RssHelper
require 'rubygems'
require 'simple-rss'
require 'open-uri'
def rss
rss = SimpleRSS.parse open('http://example.com/feed/')
end
end
show.html.slim
...
-rss.entries.each do |entry|
=entry.title
entry.title を使用して、次のことを試しました。
=entry.title.encode("UTF-8")
=entry.title.encode(Encoding::UTF_8, :invalid => :replace, :undef => :replace, :replace => '')
どちらも機能していません。iconv gem に関する多くのリソースを見つけましたが、私が理解していることから、現在は廃止されています。
.force_encoding
の代わりにメソッドを使用しようとしました.encoding
が、何を選択しても、フィードから直接その数値コードが常に表示されます。
適切な文字を強制的にレンダリングするにはどうすればよいですか?
編集:これは、選択した回答によって提案された宝石を使用した最終的なヘルパーです。ここに含まれているため、これを見た人は誰でも私が何をしたかを見ることができます。
*rss_helper.rb*
def decode(string)
coder = HTMLEntities.new
return coder.decode(string)
end
show.html.slim
...
decode(entry.title)
...