Почему специальные символы, такие как æøå, не отображаются корректно, когда используются в чанках, но правильно, когда они встроены в код в R Notebooks?
Когда я пишу норвежский текст в 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"
1 ответ
Попробуйте использовать другие методы кодирования. Когда я писал θ в своем блокноте R, я использовал метод UTF-8, который полезен для отображения математического символа.