带有R Markdown,knitr和Windows的UTF-8

Nik*_*ris 7 windows r utf-8 knitr r-markdown

什么?

一个.Rmd文件是无差错的通过渲染knitr(或rmarkdown在Linux中).相关材料(即子R脚本和CSV输入数据)全部以UTF-8设置.

从Windows中执行相同的脚本(实际上脚本位于克隆的git存储库中)不会干净地呈现所有字符,因为它设置为Windows-1252.

例子

例如,将"sans réserves"来自CSV 的字符串输入到某些data.frame的列内容中,将其排版为"sans réserves".要正确阅读本文,只需在读入数据时添加encoding='UTF-8'即可read.csv.

另一个涉及其他R代码行之间的条目的示例是字符串"Trésorier Général".它被排版为"Trésorier Général".幸运的是,以下建议

read_chunk(lines = readLines("TestSpanishText.R", encoding = "UTF-8"))
Run Code Online (Sandbox Code Playgroud)

取自/sf/answers/1100023221/,工作,字符串按预期呈现.

有关

[ 更新 ]有一些相关的问答,但它们已超过2 - 3年.同样,这个页面https://support.rstudio.com/hc/en-us/articles/200532197-Character-Encoding,指出了这个问题.

问题

是否还有另一种更简单的方法来解决这个问题UTF-8和Windows内部问题R?关于如何解决这个问题的建议?我试图遵循所有原则的一个来源.

ps-一个有趣的阅读:https://superuser.com/a/221602/128768