我突然在使用RStudio时遇到了一个问题,当文件/文件夹名称包含Unicode字符时。我已经运行了完全相同的代码数个月,但今天早上它停止工作了。
例如,当我在包含“Ø”的文件路径上运行
但如果我从R GUI中运行它,它可以正常工作。
例如,当我在包含“Ø”的文件路径上运行
list.files()
时,它不起作用。然而,我可以将我的工作目录更改为该文件夹,然后运行list.files()
:# RUNNING IN RSTUDIO
list.files("S:/Spildevand/Lille ØU-sag")
#> character(0)
setwd("S:/Spildevand/Lille ØU-sag")
list.files()
#> [1] "~$P WW analysis.docx"
#> [2] "Anmeldelse til Compliance"
#> [3] "Budgetter_2021.03.22.xlsx"
#> etc
但如果我从R GUI中运行它,它可以正常工作。
# RUNNING IN R GUI
list.files("S:/Spildevand/Lille ØU-sag")
#> [1] "~$P WW analysis.docx"
#> [2] "Anmeldelse til Compliance"
#> [3] "Budgetter_2021.03.22.xlsx"
#> etc
同样,保存包含特殊字符的RDS文件在R GUI中可以工作,但在RStudio中不行:
x <- 1
saveRDS(x, "æ rstudio.RDS") # or "æ rgui.RDS"
我不明白为什么这突然发生了,也不知道在RStudio中运行与否是否重要。会话信息略有不同,RStudio多出两个部分:系统代码页:65001
和 工具_4.1.2
。不知道它们的含义或是否相关。RStudio:
--------
R version 4.1.2 (2021-11-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19042)
Matrix products: default
locale:
[1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
system code page: 65001
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.1.2 tools_4.1.2
R GUI:
------
R version 4.1.2 (2021-11-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19042)
Matrix products: default
locale:
[1] LC_COLLATE=English_United Kingdom.1252
[2] LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.1.2