我在Windows 8.1(en)上,我的R控制台不会理解俄语字符并产生这样的smth(在控制台和运行R文件时都是如此)
> x <- "Привет"
> print(x)
[1] "Ïðèâåò"
我知道如果将CP1251保存为CP1252,就会发生这种情况。我将所有R选项设置为UTF-8,将源文件设置为UTF-8,但这没有帮助。我还将sysLocale设置为俄语here,但什么也没得到。来自RStudio faq的一些建议也没有帮助。奇怪的是,ggplot2工作得很好
dt <- as.data.frame(cbind(x = c("Один", "Два"), y = c(3, 5)))
ggplot(dt, aes(x=x, y=y))+geom_bar() + xlab("Счет")
这是我的sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Russian_Russia.1251 LC_CTYPE=Russian_Russia.1251 LC_MONETARY=Russian_Russia.1251 LC_NUMERIC=C
[5] LC_TIME=Russian_Russia.1251
attached base packages:
[1] stats graphics grDevices utils datasets methods base
我使用的是最新版本的RStudio,但开发版本也无济于事
更新:
> Encoding(x)
[1] "unknown"
> getOption("encoding")
[1] "native.enc"
如果我使用RGUI,Sys.setlocale("LC_ALL", "Russian")
之后它将允许
> print(x)
[1] "Привет"
我还检查了俄语版的Windows - Rstudio工作正常
答案 0 :(得分:2)
Sys.setlocale("LC_ALL", "Russian")
对我不起作用。
Sys.setlocale("LC_CTYPE", "en_RU.UTF-8")
做完了!现在,带有西里尔字符的utf文件在R / RStudio控制台中正确显示。 但这似乎只有在R或RStudio重新启动之后才能工作。
另外,正在运行
defaults write org.R-project.R force.LANG en_US.UTF-8
OS X终端中的解决了我非常拉丁字符的所有问题。
答案 1 :(得分:1)
Sys.setlocale("LC_ALL", "Russian_Russia.1252")
解决了我的问题。