我在解析包含非拉丁字符数据的xml时遇到问题。例如,我试图解析以下xml:
<PersonFullName>
<PersonCode>
9999999999999
</PersonCode>
<FirstName>
ANDŽĀRS
</FirstName>
<LastName>
DŽANDĒRĒKĀ
</LastName>
</PersonFullName>
当我使用以下代码
时library(XML)
input <- xmlTreeParse(file = "test.xml", encoding = "UTF-8")
print(input)
我得到以下结果
<?xml version="1.0" encoding="UTF-8"?>
<PersonFullNameVSAA>
<PersonCode>9999999999999
</PersonCode>
<FirstName>ANDŽĀRS
</FirstName>
<LastName>DŽANDĒRĒKĀ
</LastName>
</PersonFullNameVSAA>
xml以UTF-8正确编码。我不知道还能做些什么才能让角色格式正确。
答案 0 :(得分:0)
我遇到了同样的问题,评论中的所有方法均无效。
我在Windows机器上的编码是Windows-1252,可以通过确定
Sys.getlocale("LC_CTYPE")
似乎XML包正确解析了UTF-8,但是返回了具有本地编码的字符串,然后R可能会以错误的方式解释字符串。
我将输出收集在包含字符向量的数据框中。对我来说,解决方案是使用iconv
转换结果数据帧:
apply(mydf, 2, function(x) iconv(x, from = "UTF-8", to = "Windows-1252"))