对于一个闪亮的应用程序,我在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;那能解决这个问题吗?任何帮助表示赞赏!
谢谢,菲利普
答案 0 :(得分:0)
我不确定R是否有专用程序包来修复行编码,但一种方法是使用sub
将\r\n
替换为\n
(或者只是剥离{ {1}} S)。