2017-09-05 79 views
3

我很惊讶地发现突然出现错误,我的ShinyApp停止了一个未知错误,说'输入字符串1是无效的UTF-8'。即使在昨天,该应用程序仍然完美运行,但是,突然停止了。闪亮的本地部署错误:输入字符串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 

有人面临着类似的错误?感谢任何有关如何解决此错误的指示。我在网上搜索了一段时间的解决方案,但没有找到任何相关的。

谢谢你的时间。

感谢,

+0

我有同样的问题,并通过[取代非UTF-8字符]解决它(https://stackoverflow.com/questions/17291287/how-to-identify-delete-non-utf-8-characters-in -r)在我的数据。 'validUTF8()'帮助我识别非UTF-8字符。 –

回答

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中你可以做文件>保存编码> UTF-8,一切似乎工作。否则,您可以覆盖includeHTML函数以允许设置readLines的编码参数。

+0

嗨海登,我后来发现,在我的Shiny应用程序中,有一个特殊的字符串导致了这个错误。我删除了特定的字符串,并用更有意义的东西替换了它。现在它工作正常。无论如何感谢您的指针。问候, – Bogaso