R 本地渲染标记与闪亮服务器
对于一个闪亮的应用程序,我对renderMarkdown有一个小问题 考虑一个包含以下简单内容的文本文件:R 本地渲染标记与闪亮服务器,r,markdown,shiny-server,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=
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)
在闪亮的机器上,我得到:
> 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()的实验只带来了挫折
谁会碰巧有一个聪明的“一行”来解决这个问题?感谢您的帮助
谢谢,Philipp我不确定R是否有专门的程序包来修复行编码,但有一种方法是使用
sub
将\R\n
替换为\n
(或者只剥离\R
)那么我们是否可以假设这台闪亮的机器是unix机器?当您在unix机器上cat
文件时,文件是否有正确的换行符?是的,闪亮的机器是unix机器。当我执行cat时,我在两台机器上得到完全相同的输出:>cat(text.in)Markdown测试文件+项目1+项目2>不幸的是,windows文件的cat将在unix机器上工作。更好的测试是在其上使用文件
,这将告诉您行尾和正在使用的字符集。
> text.out
[1] "<p>Markdown Test File+ Item 1+ Item 2</p>\n"
> 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"