首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让htmlParse和希伯来语一起工作?

让htmlParse和希伯来语一起工作?
EN

Stack Overflow用户
提问于 2012-01-30 09:16:09
回答 1查看 646关注 0票数 2

我希望htmlParse能够很好地与希伯来语合作,但它会一直在我输入的页面中搅乱希伯来语文本。

例如:

代码语言:javascript
复制
# why can't I parse the Hebrew correctly?
library(RCurl)
library(XML)
u = "http://humus101.com/?p=2737"
a = getURL(u) 
a # Here - the hebrew is fine.
a2 <- htmlParse(a)
a2 # Here it is a mess...

所有这些似乎都没有解决问题:

代码语言:javascript
复制
htmlParse(a, encoding = "utf-8")
htmlParse(a, encoding = "iso8859-8")

这是我的地盘:

代码语言:javascript
复制
> Sys.getlocale()
[1] "LC_COLLATE=Hebrew_Israel.1255;LC_CTYPE=Hebrew_Israel.1255;LC_MONETARY=Hebrew_Israel.1255;LC_NUMERIC=C;LC_TIME=Hebrew_Israel.1255"
> 

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2012-01-30 10:48:30

在对getURLhtmlParse的调用中指定getURL endoding。

代码语言:javascript
复制
a <- getURL(u, .encoding = "UTF-8")
htmlParse(a, encoding = "UTF-8")

这些区域设置问题总是让人感到很痛苦。当我输入cat(a) (在getURL中指定UTF-8编码之后),我看到he.wrodpress.org页面声称是UTF-8:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />,但是希伯来的位是UTF-16。也就是说,他们看起来像<U+05D3><U+05E6><U+05DE><U+05D1><U+05E8>。因此,这可能是一个问题,由混合编码的网页。

比较几个编码,唯一一个没有在我的机器上产生胡言乱语的是UTF-8。

代码语言:javascript
复制
(trees <- lapply(c("UTF-8", "UTF-16", "latin1"), function(enc)
{
  a <- getURL(u, .opts = proxy_opts, .encoding = enc)
  htmlParse(a, encoding = enc)
}))

如果它走投无路,请传递iconvlist()以便在上面的代码中应用,并查看是否有任何可能的内容适合您。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9061619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档