adi*_*der 8 encoding r statet rstudio
在StatET eclipse以及我设置的RStudio中
options(encoding = "ISO-8859-1")
Run Code Online (Sandbox Code Playgroud)
在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"
Run Code Online (Sandbox Code Playgroud)
在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"
Run Code Online (Sandbox Code Playgroud)
所有这些都在同一台计算机上同时运行,但输入相同(在两种情况下直接输入控制台),我得到的结果不同.
RStudio:
strsplit("GRÜN", "")
[[1]]
[1] "G" "R" "Ü" "N"
Run Code Online (Sandbox Code Playgroud)
StatET:
strsplit("GRÜN", "")
[[1]]
[1] "G" "R" "Ã" " "N"
Run Code Online (Sandbox Code Playgroud)
问题:除了设置Sys.setlocale()和encoding使两个系统产生相同的结果外,我还需要做什么?
我不是这方面的专家,但如果你使用的是 Windows,我怀疑这是系统区域设置。在这种情况下,请转至:\n控制面板 -> 区域和语言 -> 管理 -> 更改系统区域设置 [对于非 unicode 程序]
\n\n我已将所有内容设置为在我的计算机上使用俄语,这根本没有问题,但是当我尝试使用您的代码时,我得到了以下信息:
\n\nSys.setlocale("LC_CTYPE","german")\nstrsplit("GR\xc3\x9cN", "")\n[[1]]\n[1] "G" "R" "\xd0\xac" "N"\nRun Code Online (Sandbox Code Playgroud)\n\n很明显,Rstudio 混淆了变音符号和俄语软符号,而 Windows 经常这样做。
\n