2014-06-24 2 views
1

빛나는 응용 프로그램의 경우 renderMarkdown에 약간의 문제가 있습니다. renderMarkdown vs. shiny-server

Markdown Test File 

+ Item 1 
+ Item 2 

이의는 "마크 다운 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" 

에서, 마크 다운 변환이 완벽과는 거리가 멀다; 예 : 목록은 변환되지 않습니다. Windows 시스템에

내가 가진 :

> 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" 

그래서,이 인코딩과 관련이있다 있으리라 믿고있어,하지만 : 반짝이는 시스템에서

> 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" 

를, 내가 얻을 조금은 인코딩에 대해 알고있다. 내가하지 않았다면 ... dos2unix와 Sys.setlocale()에 대한 나의 실험은 좌절에 불과했다.

누구든지이 문제를 해결할 수있는 영리한 "하나의 라이너"를 사용하게됩니까? 어떤 도움을 주셔서 감사합니다!

감사합니다, 필립

+0

그래서 반짝이는 기계가 유닉스 기계라고 가정해야할까요? 유닉스 시스템에서 파일을'cat' 할 때 파일에 적절한 줄 바꿈이 있습니까? – MrFlick

+0

예, 반짝이는 기계는 유닉스 기계입니다. 고양이를 할 때 두 컴퓨터에서 똑같은 결과물을 얻을 수 있습니다 : > 고양이 (텍스트 .in) Markdown 테스트 파일 + 항목 1 + 항목 2> – PMaier

+0

고양이 파일이 유닉스 상자에서 찾을 수 있습니다. . 더 나은 테스트는'file'을 사용하여 줄 끝과 사용중인 문자 세트를 알려줍니다. –

답변

0

나는 R 라인 인코딩을 해결하기 위해 전용 패키지를 가지고 있지만, 한 가지 방법으로 \r\n을 대체 할 sub을 사용하는 것입니다 있는지 확실하지 않습니다 \n (또는 \r의 스트립).