8

在 StatET eclipse 以及我设置的 RStudio 中

options(encoding = "ISO-8859-1")

在 StatET 我有:

Sys.getlocale()
[1] "LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252"

在 RStudio 中相同:

Sys.getlocale()
[1] "LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252"

都在同一台计算机上同时运行,但使用相同的输入(在两种情况下都直接输入到控制台),我得到不同的结果。

工作室:

strsplit("GRÜN", "")
[[1]]
[1] "G" "R" "Ü" "N"

状态:

strsplit("GRÜN", "")
[[1]]
[1] "G" "R" "Ã" " "N"

Sys.setlocale()问题:除了设置和encoding使两个系统产生相同的结果之外,我还需要做什么?

4

1 回答 1

0

我不是这方面的专家,但如果你在 Windows 上,我怀疑它是系统区域设置。在这种情况下,请转到:控制面板 -> 区域和语言 -> 管理 -> 更改系统区域设置 [对于非 unicode 程序]

我的计算机上已将所有内容都设置为使用俄语,这完全没有问题,但是当我尝试使用您的代码时,我得到了这个:

Sys.setlocale("LC_CTYPE","german")
strsplit("GRÜN", "")
[[1]]
[1] "G" "R" "Ь" "N"

很明显,Rstudio 混淆了元音变音符号和俄罗斯软符号,这是 Windows 经常做的事情。

于 2013-10-25T12:53:25.217 回答