我正在使用 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
,但无论我选择什么,它总是直接从 feed 中显示该数字代码。
如何强制它呈现正确的字符?
编辑:这是我的最后一个助手,使用所选答案建议的 gem,包含在此处,以便任何查看此内容的人都可以看到我做了什么。
*rss_helper.rb*
def decode(string)
coder = HTMLEntities.new
return coder.decode(string)
end
show.html.slim
...
decode(entry.title)
...
最佳答案
关于ruby-on-rails - 在Rails中使用SimpleRSS解析提要,出现数字代码,无法正确编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13618199/