renderMarkdown本地与闪亮服务器

时间:2014-06-24 18:22:42

标签: r markdown shiny-server

对于一个闪亮的应用程序,我在renderMarkdown上遇到了一个小问题。

考虑一个包含以下简单内容的文本文件:

Markdown Test File

+ Item 1
+ Item 2

我们将此文件另存为" Markdown Test.txt"。现在,让我们使用以下R代码读入并处理它:

filename <- "Markdown Test.txt"
text.in  <- readLines(filename)
text.out <- renderMarkdown(text=text.in)

当我在本地运行时 - 即在我的Windows机器上 - 我得到:

> text.out
[1] "<p>Markdown Test File</p>\n\n<ul>\n<li>Item 1</li>\n<li>Item 2</li>\n</ul>\n"

这看起来不错。但是,在托管闪亮服务器的计算机上运行相同的代码,我得到:

> text.out
[1] "<p>Markdown Test File+ Item 1+ Item 2</p>\n"

正如您所看到的,Markdown转换远非完美;例如列表未转换。

在我的Windows机器上:

> Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United    States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"

在闪亮的机器上,我得到:

> Sys.getlocale()
[1] "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C"

所以,我假设这与编码有关,但我对编码知之甚少,我希望我没有...我的dos2unix和Sys.setlocale()的实验让只不过是沮丧。

有没有人碰巧有一个聪明的&#34;一个班轮&#34;那能解决这个问题吗?任何帮助表示赞赏!

谢谢,菲利普

1 个答案:

答案 0 :(得分:0)

我不确定R是否有专用程序包来修复行编码,但一种方法是使用sub\r\n替换为\n(或者只是剥离{ {1}} S)。