簡體   English   中英

R,Rstudio控制台編碼Windows

[英]R, Rstudio Console Encoding Windows

我有辦法在Windows上的Rstudio中更改控制台編碼嗎?

這不是關於以特定編碼讀取文件或獲取腳本,而是關於更改控制台編碼(編碼Sys.getlocale yield)。

這通常不是一個大問題,但我嘗試創建一個包,我在一些字符串和符號中使用德語變音符號。 roxygen2最適合UTF-8編碼,但如果源文件不在控制台/系統編碼中,則covr會出錯。

(如果有針對roxygen2covr問題的解決方法,這也會有所幫助。附加信息:我從控制台調用covr::package_coverageroxygen2通過Rstudios Build命令調用roxygen2 。)

和sessioninfo:

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給出錯誤/錯誤編碼。

如果你問如何在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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM