按照https://yihui.name/en/2018/11/biggest-regret-knitr的建议,我开始使用 UTF-8 编码保存我的 .R 文件(使用 RStudios“使用编码保存”)。似乎工作得很好,直到使用 spin_child。
例如,在 Windows 下,我有一个带有以下代码 的文件mainfile.R :
print("Bär 1"); spin_child("subfile.R")
subfile.R有这个代码:
print("Bär 2")
在 Windows 下的 RStudio 中,我运行
rmarkdown::render("mainfile.R", encoding = "UTF-8")
如果两个文件都以 UTF-8 编码保存,则 Bär 1 输出正常,但 Bär 2 输出为“Bär 2”(这对我来说似乎是一个编码问题)。有趣的是,如果我将 subfile.R 的编码更改为 ISO-8859-1(系统默认值),两个 Bär 都会正确显示。对我来说似乎很奇怪我应该对不同的文件使用不同的编码,所以我想知道如果 spin_child 的输入文件也是 UTF-8,我该怎么办?