【发布时间】:2013-11-22 22:03:35
【问题描述】:
我在 Windows 8.1 (en) 上,我的 R 控制台无法理解俄语字符并产生这样的东西(无论是在控制台中还是在我运行 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 工作正常
【问题讨论】:
-
这不是什么大问题,但我用俄语生成 knitr 报告,一切都搞砸了
-
是 LaTeX 的问题吗? stackoverflow.com/a/11217621/322912
-
这听起来像是 RStudio 论坛的一个好问题...
-
明天会重新发布,谢谢你的想法。这不是 Latex 问题 - 控制台也没有工作我想这更多是 Windows 问题(
-
您能否在您的 RStudio 控制台中尝试以下操作:
intToUtf8(seq(1072,,1,30),multiple=T)