Tôi đang sử dụng Windows 7, R2.15.3 và RStudio 0.97.320 với knitr knitr_1.1.6 (tải về sau khi Yihui cố định 'Encoding: knitr và con files' vấn đề vào ngày 12)Có tùy chọn đan để buộc mã hóa UTF-8 trong các tệp R được bao gồm không?
> sessionInfo()
R version 2.15.3 (2013-03-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Spanish_Argentina.1252 LC_CTYPE=Spanish_Argentina.1252 LC_MONETARY=Spanish_Argentina.1252
[4] LC_NUMERIC=C LC_TIME=Spanish_Argentina.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lattice_0.20-13 pixmap_0.4-11 RColorBrewer_1.0-5 ade4_1.5-1 pander_0.3.1
[6] xtable_1.7-1
loaded via a namespace (and not attached):
[1] digest_0.6.3 evaluate_0.4.3 formatR_0.7 grid_2.15.3 knitr_1.1.6 stringr_0.6.2 tools_2.15.3
Tôi có tôi đang R trong một file như thế này:
## @knitr RunMyCode
print('Called from .R file: á é í ó ú ñ')
# Workaround
my.text <- 'á é í ó ú ñ'
Encoding(my.text) <- "UTF-8"
print(my.text)
tôi gọi nó từ một tập tin RMD như thế này:
Title
========================================================
Spanish text: á é í ó ú ñ
Use it from .Rmd code: it comes out right...
```{r}
print('á é í ó ú ñ')
```
```{r ReadFunctions, cache=FALSE, echo=TRUE, eval=TRUE}
read_chunk('TestSpanishText.R')
```
Spanish text comes out garbled here:
```{r RunMyCode, echo=TRUE, eval=TRUE, cache=TRUE, dependson=c('ReadFunctions')}
```
vấn đề của tôi là với các nhân vật Tây Ban Nha đã gõ trong file .R (được mã hóa UTF-8 trong RStudio). Các ký tự này là OK nếu được nhập vào các tệp Rmd (cả tệp cha và con đều hoạt động tốt), nhưng không phải trong các tệp R. Như bạn có thể thấy bên dưới, Encoding()
cung cấp giải pháp thay thế, nhưng tôi tự hỏi liệu có cách nào khác, chẳng hạn như tùy chọn toàn cầu không? Nếu tôi sử dụng Mã hóa(), tôi gặp vấn đề nghịch đảo trong bảng điều khiển RStudio ...
Title
Spanish text: á é í ó ú ñ
Use it from .Rmd code: it comes out right...
print("á é í ó ú ñ")
## [1] "á é í ó ú ñ"
read_chunk("TestSpanishText.R")
Spanish text comes out garbled here:
print("Called from .R file: á é à ó ú ñ")
## [1] "Called from .R file: á é à ó ú ñ"
# Workaround
my.text <- "á é à ó ú ñ"
Encoding(my.text) <- "UTF-8"
print(my.text)
## [1] "á é í ó ú ñ"
Cảm ơn bạn!
Giải pháp đầu tiên hoạt động tuyệt vời !! Cảm ơn bạn Yihui !! – ap53
Tôi đã thử phương pháp này ('con = file (" TestSpanishText.R ", mã hóa =" UTF-8 "); read_chunk (con); close (con)') cho vấn đề của tôi: https://stackoverflow.com/questions/48307007/in-utf-8-nga-ký tự-in-r-rmd-knitr, nhưng không thể làm cho nó hoạt động. ??? – IVIM