【问题标题】:When deploying shinyapp to shinyapps.io german characters are not shown correctly将 shinyapp 部署到 shinyapps.io 时,德语字符未正确显示
【发布时间】:2017-10-04 17:02:14
【问题描述】:

我有一个 Shiny 应用程序,它在我的 Windows10 上本地运行良好,但是当部署到 shinyapps.io 时,数据中的 Ä、ü 等德语字符显示不正确。

数据从 R 中保存为 csv:

test <- data.frame(a = "Für", b = 1)
write.csv2(test, file = "data.csv", row.names = FALSE)

这是一个简单的示例应用:

global.R

library(shiny)
data <- read.csv2("data.csv", stringsAsFactors = FALSE)

ui.R

ui <- fluidPage(
  textOutput("text")
)

服务器.R

server <- function(input, output, session) {
  output$text <- renderText(data$a)
}

我也试过read.csv2(..., encoding = "utf8"),这并没有改变任何东西。 ui.R、server.R、global.R都保存为utf8。

有人知道解决方案吗?

谢谢。

【问题讨论】:

  • 原文件呢,能证明是UTF-8吗?你试过UTF-8(注意大小写)吗?
  • 没有。在哪里可以查看 csv 文件的编码? UTF-8 不起作用
  • 我试过encoding = "latin1",然后Ä显示为ü
  • 我一般用记事本++。

标签: r shiny


【解决方案1】:

我找到了一个适合我的解决方案:)

使用file将csv文件编码为"UTF-8"

test <- data.frame(a = "Für", b = 1)
f <- file('data.csv', encoding = "UTF-8")
write.csv(test, file = f, row.names = FALSE)

在 global.R 中使用read.csv 而不是read.csv2 并指定编码"UTF-8"

data <- read.csv("data.csv", encoding = "UTF-8", stringsAsFactors = FALSE)

【讨论】:

    猜你喜欢
    • 2014-03-14
    • 2013-12-23
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多