R 编码问题:Bookdown+;数据表(DT)和#x2B;章节名称
我使用一个R Bookdown包来创建一本基于HTML的Git书。本书包含一个使用函数R 编码问题:Bookdown+;数据表(DT)和#x2B;章节名称,r,r-markdown,dt,bookdown,R,R Markdown,Dt,Bookdown,我使用一个R Bookdown包来创建一本基于HTML的Git书。本书包含一个使用函数DT::datatable()创建的交互式HTML表。 我注意到,如果一本书中的任何章节名称包含一个国际字母(比如“ą”、“ą”等),那么交互表的编码就不正确 是否有办法在章节名称中包含国际字母和正确编码的交互式表格(DataTable)? my Bookdown文件夹的结构: \u bookdown.yml: documentclass: book output_dir: "_book" encoding:
DT::datatable()
创建的交互式HTML表。
我注意到,如果一本书中的任何章节名称包含一个国际字母(比如“ą”、“ą”等),那么交互表的编码就不正确
是否有办法在章节名称中包含国际字母和正确编码的交互式表格(DataTable)?
my Bookdown文件夹的结构:
\u bookdown.yml:
documentclass: book
output_dir: "_book"
encoding: utf-8
bookdown::gitbook: default
---
site: bookdown::bookdown_site
---
# Ch1
```{r, include=FALSE}
library(DT)
Sys.setlocale(locale = "Lithuanian")
```
```{r, echo = FALSE}
x <- c("ą č ę ė į š ų ū 9 0 ž", "3254")
DF <- data.frame(x = x)
datatable(DF)
```
\u output.yml:
documentclass: book
output_dir: "_book"
encoding: utf-8
bookdown::gitbook: default
---
site: bookdown::bookdown_site
---
# Ch1
```{r, include=FALSE}
library(DT)
Sys.setlocale(locale = "Lithuanian")
```
```{r, echo = FALSE}
x <- c("ą č ę ė į š ų ū 9 0 ž", "3254")
DF <- data.frame(x = x)
datatable(DF)
```
index.Rmd(给出正确结果):
documentclass: book
output_dir: "_book"
encoding: utf-8
bookdown::gitbook: default
---
site: bookdown::bookdown_site
---
# Ch1
```{r, include=FALSE}
library(DT)
Sys.setlocale(locale = "Lithuanian")
```
```{r, echo = FALSE}
x <- c("ą č ę ė į š ų ū 9 0 ž", "3254")
DF <- data.frame(x = x)
datatable(DF)
```
您可以发布两个Rmd文件的编码吗?标题中没有国际字符的文件和带有国际字符的文件(使用shell中的
file
命令-使用Windows时,file.exe
存储在Rtools和git的bin文件夹中)。我敢打赌这是不同的。是否x缩小问题范围:在末尾添加一个代码块以在两个文件中打印x。它是否正确地打印字符?在这两种情况下,shell(“file index.Rmd”)
都会产生index.Rmd:UTF-8 Unicode文本,带有CRLF行终止符
。在这两种情况下,print(x)
都会产生[1]“ąęėįųū9 0ž”3254
。仅仅添加print(x)
的结果也会扭曲DT::datatable
表的编码。我开始认为,rmarkdown
生成的某些中间文件的编码不正确。您可以发布两个Rmd文件的编码吗?一个没有,另一个在头中有国际字符(在shell中使用file
命令-当您使用Windows时,file.exe
存储在Rtools和git的bin文件夹中)。我打赌这是不同的。是否x缩小问题范围:在末尾添加一个代码块以在两个文件中打印x。它是否正确打印字符?在这两种情况下shell(“file index.Rmd”)
产生index.Rmd:UTF-8 Unicode文本,带有CRLF行终止符
。在这两种情况下,print(x)
产生[1]“ąęėįšŵ9 0ž”“3254”
。只需添加print(x)的结果
还扭曲了DT::datatable
表的编码。我开始认为,rmarkdown
生成的某些中间文件的编码不正确。