我最近开始使用knitr::spin()将我的代码快速转换为html报告,效果非常好。
但是,当我尝试在文本或代码段中包含中文字符时,遇到了一个问题。以下是一个简短的示例:
not_working.R
#' # Sample document
#'
#' Some text.
#' 还有汉字。
#+
print("Some text")
print("他喜欢吃炒面")
#'
为了生成输出,我使用:
knitr::spin("not_working.R")
以下是需要翻译的内容:
字符以以下方式扭曲:
Sample document
Some text.
杩樻湁姹夊瓧銆
print("Some text")
## [1] "Some text"
print("浠栧枩娆㈠悆鐐掗潰")
## [1] "<U+00E4><U+00BB>–<U+013A>–<U+015B><U+0107><U+00AC><U+02D8><U+013A>
<U+0090><U+0083><U+00E7><U+201A>’é<U+0165><U+02D8>"
我已经尝试设置我的语言环境(在脚本内和.Rprofile内)。 这样可以使我在RStudio中显示字符并输出到控制台,但在上述情况下无效。
我还尝试使用“文件/保存为编码”——> UTF-8。
我正在使用Windows 7。
如果我自己创建一个R笔记本,则不会出现此问题(这似乎表明问题可能出现在.R到.md转换上)。 以下内容正常运行:
working.Rmd
---
title: "R Notebook"
output: html_notebook
---
他喜欢吃炒面
```{r}
print("他喜欢吃炒面")
```
我的最终目标是在HTML报告中导入一个(UTF-8编码的)文本文件,进行分析并显示过渡结果。
有没有什么方法可以解决这个问题?
devtools::install_github('yihui/knitr')
吗? - Yihui Xie