【问题标题】:Shiny local deployment error : input string 1 is invalid UTF-8闪亮的本地部署错误:输入字符串 1 是无效的 UTF-8
【发布时间】:2018-02-14 05:15:25
【问题描述】:

我很惊讶地看到一个突然的错误,我的 ShinyApp 停止工作,出现一个未知错误,说“输入字符串 1 是无效的 UTF-8”。即使在昨天,该应用程序也可以正常运行,但是突然停止了。

下面是我运行runApp()时的错误描述

> runApp()

Listening on http://127.0.0.1:3726
Warning: Error in sub: input string 1 is invalid UTF-8
Stack trace (innermost first):
    1: runApp
Error : input string 1 is invalid UTF-8

我的会话信息:

> library(shiny); sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.6

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] C/UTF-8/C/C/C/C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] shiny_1.0.5

loaded via a namespace (and not attached):
[1] compiler_3.4.1  R6_2.2.2        htmltools_0.3.6 Rcpp_0.12.12   
[5] digest_0.6.12   xtable_1.8-2    httpuv_1.3.5    mime_0.5 

有人遇到过类似的错误吗?感谢有关如何修复此错误的任何指针。我在网上搜索了一段时间的解决方案,但没有找到任何相关的。

感谢您的宝贵时间。

谢谢,

【问题讨论】:

  • 我遇到了同样的问题,并在我的数据中通过replacing non UTF-8 characters 解决了它。 validUTF8() 帮助我识别非 UTF-8 字符。

标签: r utf-8 shiny encode


【解决方案1】:

您是否正在使用includeHTML

我在将 Microsoft Publisher 文档保存为 .htm 文件然后将它们放入应用程序时遇到了这个问题。

看起来includeHTML 强制执行“UTF-8”编码:

> includeHTML
function (path) {
  lines <- readLines(path, warn = FALSE, encoding = "UTF-8")
  return(HTML(paste8(lines, collapse = "\\r\\n")))
}

但是,我的 Windows 10 系统默认值为“ISO-8859-1”。

在 Rstudio 中,您可以执行 File > Save With Encoding > UTF-8,一切似乎都正常。否则,您可以覆盖includeHTML 函数以允许设置readLines 的编码参数。

【讨论】:

  • 嗨,Hayden,我后来发现在我的 Shiny 应用程序中,有一个特殊的字符串导致了该错误。我删除了那个特定的字符串,并用更有意义的东西替换了它。现在它工作正常。无论如何感谢您的指点。问候,
猜你喜欢
  • 2020-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 2011-04-22
  • 2021-08-10
  • 1970-01-01
相关资源
最近更新 更多