1

光沢のあるアプリケーションの場合、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"

したがって、これはエンコーディングに関係していると思いますが、エンコーディングについて知っていることはほとんどありません。

これを修正できる巧妙な「ワンライナー」を持っている人はいますか? どんな助けでも大歓迎です!

ありがとう、フィリップ

4

1 に答える 1

0

R に行エンコーディングを修正するための専用パッケージがあるかどうかはわかりませんが、1 つの方法は、sub置き換える(または単にs を削除する)ため\r\nに使用することです。\n\r

于 2014-06-25T07:31:54.013 に答える