2014-06-21 91 views
8

我正在使用RStudio版本0.98.507。關於初始工作儀器的簡短信息:編碼在閃亮

R version 3.1.0 (2014-04-10) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 

locale: 
[1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 
[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C     
[5] LC_TIME=German_Germany.1252  

other attached packages: 
[1] shinyapps_0.3.53 RJSONIO_1.2-0.2 shiny_0.9.1.9013 

loaded via a namespace (and not attached): 
[1] bitops_1.0-6 Cairo_1.5-5  caTools_1.17 digest_0.6.4 
[5] htmltools_0.2.4 httpuv_1.3.0 Rcpp_0.11.1  RCurl_1.95-4.1 
[9] shinysky_0.1.2 tools_3.1.0  xtable_1.7-3 

我在閃亮的服務器上部署閃亮的應用程序時遇到問題。問題在某種程度上解決了,但在它再次出現之後。現在我無法再修復它了。我的問題是幫手中的德文字母.R。不幸的是,我無法避免使用它們。像顯示和閃亮教程教導我的,我的採購我的幫助scrpits helpers.Rserver.R。 我所有的R腳本都以UTF-8格式謹慎保存。我不能使用命令

options(encoding="UTF-8") 

因爲在執行它之後,命令deployApp(「app」)不起作用。我設置位置使用

Sys.setlocale(category = "LC_ALL", locale = "German") 

它也行不通。 我不明白,爲什麼mainPanel側邊欄佈局中的字母是可讀的,但是那些來自helpers.R沒有。有人能幫我解決這個悖論嗎?

ui.R

library(shiny) 

shinyUI(fluidPage(withMathJax(), 
        titlePanel("Währung"), 

        sidebarLayout(position="right", 
           sidebarPanel(
             h5("Bedienfenster"), 
             sliderInput('x', 'x axis', 
                value=50, min=3, max=150, step=1,) 
           ), 

           mainPanel(
             plotOutput("Plot") 
           ) 
       ) 
)) 

server.R

shinyServer(function(input, output){ 
     output$Plot <- renderPlot({ 
       x <- rnorm(input$x) 
       hist(x, main="", xlab="", ylab="") 
       title(main="Schätzgerade", xlab="Währung", ylab="Dichte") 
     }) 
}) 

部署我獲得以下app後。

+1

您是否嘗試在'source()'命令中設置'encoding ='參數? – MrFlick

+0

當然,它具有相同的效果,如'opitions(encoding =「UTF-8」)' –

+1

那麼它似乎並不表示您對問題的描述足以讓其他人重現。這會讓你很難進一步幫助你。你能把一個最小的工作例子放在一起,讓其他人可以跑來體驗相同的行爲嗎? – MrFlick

回答

4

作爲解決方法(我沒有測試過),您是否嘗試過使用轉義的Unicode字符,如"W\u00E4hrung"而不是"Währung"?您可以通過?Quotes找到如何執行此操作的詳細信息,並且在http://en.wikipedia.org/wiki/List_of_Unicode_characters處有一個Unicode字符列表。

+0

這是問題的絕妙解決方案!如果沒有其他答案出現,我會再等兩天,你會得到+50分!非常感謝! –

1

什麼工作對我來說是改變文件的編碼(在Rstudio文件>重提編碼開放),並設置編碼:

  • UTF-8 ui.R
  • WINDOWS-1252 server.R和global.R

我不知道原因,但它爲我做了詭計。

+0

不幸的是,它不適用於我的情況。 –

+0

當發佈0.10.1時(希望在幾天內),這將不起作用。這些R腳本必須以UTF-8編碼。 –

+0

@易輝在'shiny_1.0.2'中工作。 –

1

閃亮0.10.1已經發布在CRAN,所以才install.packages('shiny')。請忽略下面的答案。


直到最近我們還沒有真正開始研究Windows下的Unicode問題。現在的問題應該得到解決,你可以嘗試從這裏安裝最新開發版本:

devtools::install_github('rstudio/shiny') 

我們計劃出貨閃亮0.10.1將很快發佈,所以如果可以的話,我們將不勝感激幫助我們測試它。基本上所有你需要做的就是確保ui.R和server.R使用UTF-8編碼。您無需設置options(encoding = 'UTF-8')或將ä設爲\u00E4