私はWindows 7、R2.15.3、およびRStudio 0.97.320とknitr Knitr_1.1.6を使用しています(Yihuiが3月12日に「エンコーディング:knitrおよび子ファイル」の問題を修正した後にダウンロード)
> 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
次のようなファイルに R コードがあります。
## @knitr RunMyCode
print('Called from .R file: á é í ó ú ñ')
# Workaround
my.text <- 'á é í ó ú ñ'
Encoding(my.text) <- "UTF-8"
print(my.text)
次のような Rmd ファイルから呼び出します。
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')}
```
私の問題は、.R ファイル (RStudio でエンコードされた UTF-8) に入力されたスペイン語文字にあります。これらの文字は、Rmd ファイル (親ファイルと子ファイルの両方が正常に機能する) に入力する場合は問題ありませんが、R ファイルでは問題ありません。以下に示すようにEncoding()
、回避策を提供しますが、グローバルオプションなど、別の方法があるのだろうか? Encoding() を使用すると、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] "á é í ó ú ñ"
ありがとうございました!