最佳做法:我应该尝试更改为区域设置的UTF-8还是安全地保留原样?

我尝试将我的默认编码设置为UTF-8; 到现在为止没有成功:

a <- "Hallo" b <- "äöfd" print(Encoding(a)) # [1] "unknown" print(Encoding(b)) # [1] "latin1" options(encoding = "UTF-8") a <- "Hallo" b <- "äöfd" print(Encoding(a)) # [1] "unknown" print(Encoding(b)) # [1] "latin1" old_locale <- Sys.getlocale() Sys.setlocale(category = "LC_ALL", locale = "English_United States.1252") a <- "Hallo" b <- "äöfd" print(Encoding(a)) # [1] "unknown" print(Encoding(b)) # [1] "latin1" Sys.getlocale() # [1] "LC_COLLATE=German_Switzerland.1252; # LC_CTYPE=German_Switzerland.1252; # LC_MONETARY=German_Switzerland.1252; # LC_NUMERIC=C;LC_TIME=German_Switzerland.1252" 

我发现以下链接R编码的文件和如何使用Sys.setlocale(),但正如你所看到的,似乎他们不工作在我的情况下,我不明白为什么。

我也试过Sys.setlocale(category = "LC_ALL", locale = "en_US.UTF-8")但得到

警告消息:在Sys.setlocale(category =“LC_ALL”,locale =“en_US.UTF-8”)中:操作系统报告设置区域设置为“en_US.UTF-8”的请求不能被接受

cmdinputsysteminfo & pause命令

Systemgebietsschema:de-ch; Deutsch(Schweiz)Eingabegebietsschema:de-ch; Deutsch(Schweiz)

编辑

  • 我担心"unknown"编码可能会导致我不知道的错误
  • 我认为使用新的标准UTF-8来避免像我这样的问题是很好的。
  • 最后但并非最不重要的,我希望能够得到可重复的结果 – 一个同事正在工作在一个苹果(关于编码较less的问题)…

编辑2:这个问题有什么经验? 有没有最佳做法?

Solutions Collecting From Web of "最佳做法:我应该尝试更改为区域设置的UTF-8还是安全地保留原样?"

这不是一个完美的答案,而是一个很好的解决方法:正如罗兰指出的,改变语言环境可能是危险的。 所以请保持原样。 如果你有一个文件,并且遇到麻烦,只要搜索这里为RStudio所描述的非UTF8编码。 我所看到的,大多数编辑都有这样的特点。

此外, 这个答案给你更多的信息,你可以做什么,以防你的文件。