来自XML包的R - htmlParse()无法理解俄文字母

时间:2014-01-19 12:33:40

标签: r html-parsing

我正在看这个bug几天,看起来像htmlParse函数在解析俄语符号时有编码问题。

例如:

htmlParse("http://ru.wikipedia.org/wiki/Russia", encoding="UTF-8")

此页面采用UTF-8编码,但可以肯定的是,我正在使用htmlParse来编码它以UTF-8编码。

但是在htmlParse()输出中,英文符号是正确编码的,但俄文看起来是典型的错误编码符号。

我使用的是Windows 8,我的语言环境是Russian_Russia.1251。我认为非Unicode语言环境是这里的问题,因为当我在Ubuntu中使用此命令时,一切都按预期工作,但Ubuntu具有en_EN.UTF-8语言环境。

1 个答案:

答案 0 :(得分:1)

我不知道你尝试了什么,但这对我来说很好:

doc <- htmlParse("http://ru.wikipedia.org/wiki/Russia", encoding="UTF-8")
 xpathSApply(doc,'//*[@id="mw-content-text"]/ul/li/a',xmlValue)
[1] "Russia (фильм)"    "Киры Муратовой"    "Наша Russia"      
    "Руша (Огайо)"      "англ."             "Россия (значения)"