5

由于编码问题,Shiny 似乎处理分音不正确的文本。我尝试添加options(encoding="UTF-8")但没有改进。

例如:我输入 ë 并显示 Î,但在日志文件中显示 {"char":"ë"}

我希望有人偶然发现了同样的问题。

将文本作为输入处理的可重现示例。

options(shiny.trace = TRUE) # Print debugging info to console
runApp(list(
  ui = pageWithSidebar(
    headerPanel("Test input characters"),
    sidebarPanel(
      textInput("char", "Write character", "")
    ),
    mainPanel()
  ),
  server = function(input, output) {
    datasetInput <- reactive({ input$char })
  }
))

sessionInfo() R 版本 3.0.2 (2013-09-25) 平台:i386-w64-mingw32/i386 (32-bit) Shiny_0.7.0 并使用 chrome

**闪亮的痕迹**

Listening on port 8100
SEND {
 "config": {
 "workerId": "",
"sessionId": "b32ed6dc994bd484ab4a39cae0903c79" 
} 
}
RECV {"method":"init","data":{"char":"",".clientdata_pixelratio":1,".clientdata_url_protocol":"http:",".clientdata_url_hostname":"localhost",".clientdata_url_port":"8100",".clientdata_url_pathname":"/",".clientdata_url_search":"",".clientdata_url_hash_initial":"",".clientdata_allowDataUriScheme":true}}
RECV {"method":"update","data":{"char":"ë"}}

更新在我的 Mac 上探索应用程序,它没有编码问题。

4

1 回答 1

0

也许这会有所帮助。您必须将编码从 更改UTF-8latin1

library(shiny)

options(shiny.trace = TRUE) # Print debugging info to console
runApp(list(
  ui = pageWithSidebar(
    headerPanel("Test input characters"),
    sidebarPanel(
      textInput("char", "Write character", "")
    ),
    mainPanel(
      textOutput("dsI")  
    )   
  ),   
  server = function(input, output) {
    datasetInput <- reactive({ aaa=input$char 
    iconv(aaa, "UTF-8", "latin1") })
    output$dsI<-datasetInput  
  } 
))

希望它工作正常!

于 2014-07-11T08:44:45.223 回答