所以我在 XML 文件中得到了这个 UTF-8 字符串:
Horrible place. ☠☠☠
当我将它提供给外部应用程序时,有趣的字符以 XML 实体的形式返回:
Horrible place. ☠☠☠
在 Ruby 中,如何将该字符串转换回 UTF-8?可能有一个非常简单的解决方案,但我无法在标准库中找到任何东西;例如。 CGI.unescapeHTML
(对于 >
之类的东西工作得很好)似乎完全忽略了它们。
ree-1.8.7-2010.02 > CGI.unescapeHTML('>')
=> ">"
ree-1.8.7-2010.02 > CGI.unescapeHTML('☠')
=> "☠"
最佳答案
好吧,因为它是 XML 编码的,所以我会选择 XML 解析器:
require 'nokogiri'
frag = 'Horrible place. ☠☠☠'
doc = Nokogiri::XML.fragment(frag)
puts doc.text
# >> Horrible place. ☠☠☠
关于ruby - 将转义的 XML 实体转换回 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4559104/