Knitr - 编码某些葡萄牙语字符的问题(windows10)

时间:2016-10-31 20:17:20

标签: r encoding knitr

我正在自动生成一些涉及“ç”,“ã”,“á”等字符的报告,而Rstudio则返回§,³,ã等字符。除此之外,我已经尝试过:使用选项(encoding =“UTF8”),不要从excel导入数据(因为我已经学会了excel不能很好地处理特殊字符并且它会影响RStudio将如何处理这些字符。)

ps:R编译一切都很好,我没有收到任何错误信息。

ps2:我有最新版本的R和knitr。

ps3:有趣的是编码错误特意发生在我直接在markdown文件中输入的内容中。例如:

假设我有:

c<- "Ação"

在我的Rmd文件中,我写了“Ação”并在一个块中调用“c”。 编译时我得到了这个:

açãoAção

更新

我发现只有在我使用rmarkdown::render时才会发生这种情况(请注意,设置encoding = "UTF8"无效)。显然或者我解决了编码问题,或者我必须逐个生成报告,因为如果我使用工具栏上的“编织”按钮,报告就会很好。

Update²

好吧,我克服了这个问题,但奇怪的是,我不知道究竟是怎么回事。 我注意到使用knit2html('myfile.Rmd',encoding = 'UTF-8',force_v1 = TRUE)返回了一个没有编码问题的报告,但是在我编写#(blablabla)的地方我不得不在主题标签和文本之间添加一个空格,因为看起来像knit2html只是将主题标签识别为如果符号和文本之间有空格,则生成更大单词的命令。

从那里一切都运行良好我决定检查是否可以使用knit2html创建循环并最终自动生成报告,然后在我的项目目录中注意到两个不存在的文件之前:myfile.utf8.mdmyfile.knit.md。出于好奇,我尝试使用rmarkdown::render设置encoding = "UTF8"再次运行循环,这次只是工作。

易辉,你知道这个黑魔法吗?到底发生了什么?

0 个答案:

没有答案