当我在 R Notebook 中编写挪威语文本并生成 HTML_NOTEBOOK 输出时,它会在文档文本和内联 R 代码中正确显示字符 æøå。但是当相同的文本是 R 代码块的一部分时,字符将无法正确显示。这一切都在 RStudio 的源窗口中正确显示,但不能在预览或外部浏览器(如 Chrome 或 IE)中显示。
这是一个最小的可重现示例:
---
title: "R Notebook"
output: html_notebook
---
Dette er en test på om ære være deg i det høyeste er med oss!
Først en chunk:
```{r}
setning <- "Dette er en test på om ære være deg i det høyeste er med oss!"
setning
```
Så en inliner: `r setning`
这最终在预览中看起来像这样:
检查 HTML 源代码,我们发现:
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
.Rmd 文件以 ISO8859-1 编码保存。使用 UTF-8 保存它会使 æøå 无法正确显示。
一些会话信息:
> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=Norwegian (Bokmål)_Norway.1252 LC_CTYPE=Norwegian (Bokmål)_Norway.1252
[3] LC_MONETARY=Norwegian (Bokmål)_Norway.1252 LC_NUMERIC=C
[5] LC_TIME=Norwegian (Bokmål)_Norway.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lubridate_1.6.0
loaded via a namespace (and not attached):
[1] backports_1.0.4 magrittr_1.5 rprojroot_1.1 htmltools_0.3.5 tools_3.3.2 base64enc_0.1-3 yaml_2.1.14
[8] Rcpp_0.12.8 rmarkdown_1.2 stringi_1.1.2 knitr_1.15.1 jsonlite_1.1 digest_0.6.10 stringr_1.1.0
[15] evaluate_0.10
和
> getOption("encoding")
[1] "native.enc"