为什么像æøå这样的特殊字符在块中时没有正确显示,但在R笔记本中的内联代码中是正确的?

时间:2016-12-02 10:29:12

标签: r encoding rstudio rnotebook

当我在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`

这在预览中看起来像这样:

R Notebook preview

检查HTML源代码,我们发现:

<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />

使用ISO8859-1编码保存.Rmd文件。使用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"

1 个答案:

答案 0 :(得分:0)

尝试使用其他编码方法。 当我在R笔记本中写入θ时,我使用了UTF-8方法,这有助于显示数学符号。