6

R 不能正确显示阿拉伯语文本。当我使用阿拉伯语时,我得到了非常奇怪的东西。这是一个屏幕截图:

在此处输入图像描述

问题是我想用阿拉伯语文本创建一个 wordcloud,我需要先解决这个问题。

R 版本:R 2.15.2 GUI 1.53 Leopard 构建 64 位 (6335)

以下是更多信息:

> options("encoding")
$encoding
[1] "native.enc"

> Encoding("الله")
[1] "unknown"

会话信息():

> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] C/C/C/C/de_DE/C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_2.15.2
> 

一些修修补补:

> x = "مرحبا"
> Encoding(x) = "UTF-8"
> x
[1] "<U+0645><U+0631><U+062D><U+0628><U+0627>"
> Encoding(iconv(x))
[1] "unknown"

更多信息:

> Sys.getlocale()
[1] "C/C/C/C/de_DE/C"
> Sys.setlocale("LC_ALL", "en_US.utf8")
[1] ""
Warning message:
In Sys.setlocale("LC_ALL", "en_US.utf8") :
  OS reports request to set locale to "en_US.utf8" cannot be honored
> 

这解决了问题:

Sys.setlocale("LC_ALL", "en_US.UTF-8")
4

2 回答 2

2

这有效:

Sys.setlocale("LC_ALL", "en_US.UTF-8")
于 2013-09-07T20:56:53.287 回答
0

只是想指出我没有这个问题(阿拉伯字符显示正确,无需对语言环境进行任何更改),即使我不在 UTF-8 语言环境中。不知道该怎么做,所以如果其他人这样做,请不吝赐教。

我正在使用 RStudio 0.98.1091,我的 sessionInfo 如下:

> sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: i386-w64-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=French_France.1252  LC_CTYPE=French_France.1252    LC_MONETARY=French_France.1252
[4] LC_NUMERIC=C                   LC_TIME=French_France.1252    
于 2015-02-05T10:16:48.247 回答