如何处理Knitr spin_child中的编码

时间:2019-03-28 10:33:28

标签: r knitr knitr-spin

按照https://yihui.name/en/2018/11/biggest-regret-knitr上的建议,我开始使用UTF-8编码(使用RStudios“使用编码保存”)保存.R文件。在使用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är1表现很好,但Bär2却显示为“BÃr2”(在我看来这是一个编码问题)。 有趣的是,如果我将subfile.R的编码更改为ISO-8859-1(系统默认值),则两个Bär都会正确显示。 对我来说,我必须对不同的文件使用不同的编码对我来说似乎很奇怪,所以我想知道如果spin_child ist UTF-8的输入文件也要做什么?

1 个答案:

答案 0 :(得分:0)

这是编织器中的错误,我只是fixed it on Github。请尝试开发版本并继续使用UTF-8:

remotes::install_github('yihui/knitr')