所以我在 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/