RMarkdown:UTF-8与“编织”按钮一起使用,但与render()不一起使用

dni*_*idz 4 encoding r utf-8 r-markdown

我正在RMarkdown中工作,尝试呈现其中包含一些UTF-8字符的文档。当我按下RStudio中的“编织”按钮时,一切正常。但是当我使用render()函数时,UTF-8丢失了。这是可复制代码的一小段:

---
output: html_document
---

Total nitrogen (µg/L)

Water temperature (°C)
Run Code Online (Sandbox Code Playgroud)

无论我是在RStudio中还是在Chrome中查看,按“编织”按钮都会为我提供正确的输出。但是,如果我使用render()渲染文件,则会得到:

总氮(µg / L)

水温(°C)

我正在Windows中工作,这可能是造成许多问题的根源。这是我的语言环境信息。

Sys.getlocale("LC_ALL")
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
Run Code Online (Sandbox Code Playgroud)

我尝试添加带有“ options(encoding ='UTF-8')”的代码块,但这无济于事。我正在使用pwalk()自动生成具有不同参数的36个报告,因此我需要使用render()来完成此工作。

ags*_*udy 5

您可以强制编码:

render("test.html",encoding="UTF-8")
Run Code Online (Sandbox Code Playgroud)

您也可以使用R终端设置编码:

options(encoding = 'UTF-8')
render("test.html")
Run Code Online (Sandbox Code Playgroud)