我正在使用 libxml 读取的 xml 节点中有以下属性。如果我打印出 reader.node,它通常会以重音字符打印出来。
reader = XML::Reader.new(File.open("somefile.xml", "r"))
reader.read
reader.read
...
p reader.node
=> ... Full_Name="Univisión Network - East Feed" ...
但是,如果我这样做,它就会逃脱。
p reader.node["Full_Name"]
=> "Univisi\xC3\xB3n Network - East Feed"
当我尝试将此值转换为 json 之后,我收到以下错误。
Encoding::UndefinedConversionError: "\xC3" from ASCII-8BIT to UTF-8
这是文档中的 xml 行
<?xml version="1.0" encoding="ISO-8859-1"?>
我无法控制 xml 文档本身。如何将该 unicode 字符恢复为 json 或 json 可以理解的格式?
编辑:哦,我忘了提——这就是它在实际 XML 文档中的样子
Full_Name="Univisión Network - East Feed"