在 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
使两个系统产生相同的结果?
最佳答案
我不是这方面的专家,但如果您使用的是 Windows,我怀疑这是系统语言环境。在这种情况下,请转到:
控制面板 -> 区域和语言 -> 管理 -> 更改系统区域设置 [对于非 Unicode 程序]
我已经在我的计算机上设置了可以使用俄语的所有内容,这完全没有问题,但是当我尝试使用您的代码时,我得到了这个:
Sys.setlocale("LC_CTYPE","german")
strsplit("GRÜN", "")
[[1]]
[1] "G" "R" "Ь" "N"
很明显,Rstudio 混淆了元音变音和俄语软符号,这是 Windows 经常做的事情。
关于r - 编码 hell 德语特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17945740/