我正在看这个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语言环境。
答案 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"
"Руша (Огайо)" "англ." "Россия (значения)"