Встроенный код Rmarkdown отображает Юникод вместо UTF-8

#unicode #encoding #utf-8 #r-markdown #knitr

Вопрос:

Я знаю, что к нему обращались несколько раз, но, несмотря на множество исследований и попыток, до сих пор мне не удавалось его решить.
В основном, Rmarkdown не отображает кириллические символы там, где они вычисляются во встроенном коде:

 --- title: "My Title" output: html_document ---  ### Заказчик  ### `r "Заказчик"`  ### `r knitr::asis_output("Заказчик")`  

производит

введите описание изображения здесь

Моя информация о сеансе такова :

 gt; sessionInfo() R version 4.1.0 (2021-05-18) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19043)  Matrix products: default  locale: [1] LC_COLLATE=French_France.1252 LC_CTYPE=French_France.1252 LC_MONETARY=French_France.1252 LC_NUMERIC=C  [5] LC_TIME=French_France.1252   attached base packages: [1] stats graphics grDevices utils datasets methods base   loaded via a namespace (and not attached):  [1] compiler_4.1.0 fastmap_1.1.0 htmltools_0.5.2 tools_4.1.0 yaml_2.2.1 rmarkdown_2.11 knitr_1.34 xfun_0.26   [9] digest_0.6.28 rlang_0.4.11 evaluate_0.14    

Есть какие-нибудь предложения ?

Комментарии:

1. UTF-8-это Юникод (одна из официальных кодировок). В вашей среде у вас есть French_France.1252 , и поэтому markdown пытается применить вашу кодировку (CP1252, поэтому не UTF-8). Если вы хотите UTF-8, установите его в своей локали

2. @GiacomoCatenazzi как бы ты это сделал ?

Ответ №1:

Ваш код отлично работает.

На будущее создайте Rmd-файл в кодировке utf-8.

Если вы забыли это сделать — используйте «файл — gt; открыть заново с кодировкой».

Кроме того, вы можете использовать enc2utf8

 ### Заказчик  ### `r enc2utf8("Заказчик")`  ### `r knitr::asis_output("Заказчик")`  

введите описание изображения здесь

Информация о моей сессии:

 R version 4.1.0 (2021-05-18) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 7 x64 (build 7601) Service Pack 1  Matrix products: default  locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252  [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C  [5] LC_TIME=English_United States.1252  system code page: 1251  attached base packages: [1] stats graphics grDevices utils datasets methods base   other attached packages: [1] stringr_1.4.0 ggplot2_3.3.5 dplyr_1.0.7 kableExtra_1.3.4  [5] formattable_0.2.1  

Комментарии:

1. К сожалению, не работает. Не могли бы вы также поделиться своим sessionInfo ()?

2. @Jrm_FRL Послушай, но я не знаю, как это тебе поможет.