【问题标题】:R - htmlParse() from XML package can't understand Russian lettersR - XML 包中的 htmlParse() 无法理解俄语字母
【发布时间】:2014-02-08 14:35:18
【问题描述】:

我看了几天这个错误,看起来 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 语言环境。

【问题讨论】:

    标签: r html-parsing


    【解决方案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"      
        "Руша (Огайо)"      "англ."             "Россия (значения)"
    

    【讨论】:

    • 我测试过,是的,XPath 输出是有效的,但是当你打印 doc 变量时,你得到了错误的编码符号。没事吧?
    猜你喜欢
    • 2011-01-08
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 2012-09-11
    • 2011-03-23
    • 2012-08-15
    • 1970-01-01
    相关资源
    最近更新 更多