Ruby 将HTML代码(如&;216;)存储为字母

Ruby 将HTML代码(如&;216;)存储为字母,ruby,character-encoding,Ruby,Character Encoding,我需要从html文档中读取一些测试数据。问题是那里有一些非英语字符显示为HTML代码(例如Ø-&Ø216;)。我怎样才能把它们变成一个字符?稍后,我需要将这些字符与用户在web表单中输入的字符进行比较 我正试图在Ruby 1.9.2中实现这一点 提前谢谢这个问题已经讨论了很多次了。但是我找不到它。所以,我记得: require 'CGI' some_string = 'Ø&>' p CGI.unescapeHTML(some_string).gsu

我需要从html文档中读取一些测试数据。问题是那里有一些非英语字符显示为HTML代码(例如Ø-
&Ø216;
)。我怎样才能把它们变成一个字符?稍后,我需要将这些字符与用户在web表单中输入的字符进行比较

我正试图在Ruby 1.9.2中实现这一点


提前谢谢

这个问题已经讨论了很多次了。但是我找不到它。所以,我记得:

require 'CGI'
some_string = 'Ø&>'
p CGI.unescapeHTML(some_string).gsub(/&#(\d+);/){[$1.to_i].pack 'U'}

=> "\u00D8&>"

\u00D8
是您的符号<代码>&只是使用的一个例子
CGI::unescapeHTML

这个问题已经讨论了很多次了。但是我找不到它。所以,我记得:

require 'CGI'
some_string = '&#216;&amp;&gt;'
p CGI.unescapeHTML(some_string).gsub(/&#(\d+);/){[$1.to_i].pack 'U'}

=> "\u00D8&>"
\u00D8
是您的符号<代码>&只是使用
CGI::unescapeHTML
的示例