R,utf-8字符似乎在滑动中失败

时间:2015-03-30 15:45:18

标签: r html5 utf-8 slidify

更新3:我似乎通过设置fileEncoding参数和使用函数slidify(file.Rmd, encoding="UTF-8")的密切协调解决了问题,上面的链接会有所帮助,包括{{1}除了使用fix-encode进行滑动之外,还需要使用slidify分支,但它应该很快就会包含在主集中。我会把它留在这里用于存档目的。不能说解决它的确切问题,但问题可能是由于输入文件的编码与脚本文件不同,因为默认编码似乎会导致一些问题。我仍然不确定究竟发生了什么,但我对滑动的维护者Ramnathv积极参与所有这些讨论感到惊讶和惊讶。这个修复的故事也在上面的链接中。

我会将这篇文章保留在网上仅用于存档目的,也许其他人最终会遇到与我所处的非常相似的情况。

更新2:以前使用slidify进行编码存在问题,其中一些已经解决,这些链接中有更多信息:https://github.com/ramnathv/slidify/issues/377http://kohske.github.io/ESTRELA/201412/index.html,{{ 3}},https://github.com/ramnathv/slidify/issues/373

更新:打开包含utf-8字符的文件时,似乎会出现此问题。在文本的代码括号内编写install_github('ramnathv/slidify@fix_encode')似乎工作正常,但是当使用包含utf-8字符的变量打开文件时会导致脚本出现问题。使用knitr编译为html5时不会出现这些问题。谁知道两者之间的区别是什么?

r "õ,ä,ü"

添加和编码参数,或者fileEncoding似乎没有帮助,html knitr似乎不需要它。

编辑:仍未解决,但我可能更接近原因。事实证明,虽然Rmd本身保存为UTF-8,但许多使用的数据集仍然在存储时恢复为ANSI。可能是混合文件类型的问题。最佳情况key <- read.csv("key1.csv", header = TRUE, sep = ";", quote = "\"", dec = ".", fill = TRUE, comment.char = "") print(key) 似乎使用正确编码的字符编译slidify(file.Rmd, encoding="UTF-8"),但是在数据处理期间,由于编码不匹配导致的错误已经发生。常规编织器Rmd到html转换没有发生这些问题。

我正在努力将html Rmarkdown文档转换为ioslides类型的Rmarkdown文档,我偶然发现了一个意想不到的问题。该文档在常规编织器构造中没有任何问题,但似乎在slidify中遇到与完全相同的代码,环境和目录的字符编码问题。

即,当遇到包含非拉丁字符(例如ä,ü,ö)的变量时,该编织器似乎崩溃,当输出文本包含这些字符时,它们将替换为“?”矩形。

我使用的是基于Claas-Thido Pfaff的例子:https://github.com/Koalha/landslide/blob/master/index.Rmd。我还没有找到一个指定或改变语言环境的地方(因为完全相同的文档可以正常使用html输出。

.md

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

根据@ Nisse-Engström的建议,我将最终解决方案作为答案而不是原始问题的更新发布。我相信修复编码现在应该整合到主要的slidify包中。

我似乎通过设置fileEncoding参数和使用函数slidify(file.Rmd, encoding="UTF-8")的密切协调来解决问题,上面的链接将有所帮助,因为除了slidify之外还需要包含slidify的fix-encode分支使用install_github('ramnathv/slidify@fix_encode'),但它应该很快就会包含在主集中。我会把它留在这里用于存档目的。不能说解决它的确切问题,但问题可能是由于输入文件的编码与脚本文件不同,因为默认编码似乎会导致一些问题。我仍然不确定究竟发生了什么,但我对滑动的维护者Ramnathv积极参与所有这些讨论感到惊讶和惊讶。这个修复的故事也在上面的链接中。