闪亮的本地部署错误:输入字符串1无效UTF-8

时间:2017-09-05 20:30:29

标签: r utf-8 shiny encode

我很惊讶地看到一个突然的错误,我的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 

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

感谢您的时间。

谢谢,

1 个答案:

答案 0 :(得分: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中,你可以文件&gt;使用编码保存&gt; UTF-8 ,一切似乎都有效。否则,您可以覆盖includeHTML函数以允许设置readLines的编码参数。