【问题标题】:R, Rstudio Console Encoding WindowsR,Rstudio 控制台编码窗口
【发布时间】:2018-03-25 11:30:48
【问题描述】:

我有办法在 Windows 上更改 Rstudio 中的控制台编码吗?

这不是关于以特定编码读取文件或采购脚本,而是关于更改控制台编码(编码 Sys.getlocale 产生)。

这通常不是什么大问题,但我尝试创建一个包,并且我在一些字符串和符号中使用了德语变音符号。 roxygen2 最适合使用 UTF-8 编码,但如果源文件不在控制台/系统编码中,covr 会出错。

(如果有解决roxygen2covr 问题的方法,这也会有所帮助。附加信息:我从控制台调用covr::package_coverage,然后通过Rstudios Build 命令调用roxygen2。)

和会话信息:

sessionInfo()
# R version 3.4.2 (2017-09-28)
# Platform: x86_64-w64-mingw32/x64 (64-bit)
# Running under: Windows >= 8 x64 (build 9200)
# 
# Matrix products: default
# 
# locale:
# [1] LC_COLLATE=German_Austria.1252  LC_CTYPE=German_Austria.1252    LC_MONETARY=German_Austria.1252 LC_NUMERIC=C                    LC_TIME=German_Austria.1252    

更新:通过 Rstudio 中的文件获取导致错误的函数,使用 devtools::load_all(".") 加载,RStudio gui 给出错误/错误的编码。

【问题讨论】:

  • 你的意思是Sys.setlocale
  • 是的,但我无法让其他编码工作,要么我在 Windows 中获取了错误的语言环境字符串,要么 Windows 不支持需要的编码。任何帮助或指向 Windows 语言环境文档的链接也会有很大帮助。

标签: r windows encoding rstudio locale


【解决方案1】:

如果您询问如何在 Windows 上将语言环境更改为支持 UTF-8 的语言环境,答案是您不能

当你调用Sys.setlocale时,R会调用setlocale系统函数。不幸的是,没有办法为字符类型指定 UTF-8 (LC_CTYPE);见https://stackoverflow.com/a/4336010/6233565

可以做的是将语言环境更改为https://msdn.microsoft.com/library/windows/desktop/dd373814.aspx 中描述的语言环境之一。例如,要更改为 Windows-1251,请执行

Sys.setlocale("LC_CTYPE", ".1251")

希望在未来的某个时候,您将能够在 Windows 上编写 UTF-8 编码的数据。目前,这是不可能的。所有输出都通过本地语言环境:https://stat.ethz.ch/pipermail/r-devel/2017-June/074556.html

【讨论】:

  • 谢谢,这正是我想知道的。好吧,我想我必须找到一些解决方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多