RStudio无法读取GBP英镑符号

时间:2018-11-09 10:04:32

标签: r

隔了一段时间,我今天早上更新了RStudio和所有软件包。

我有一个用来美化货币的小功能

currency <- function(n, k=FALSE) {
n <- ifelse(!k, str_c("£", comma(round(n,0))), str_c("£", comma(round(n/1000,0)),"k"))
return(n)
}

现在无法解析-问题是英镑符号。

Error in parse(text = lines, n = -1, srcfile = srcfile) : 

[path]/plot_helpers.R:72: 
25: unexpected INCOMPLETE_STRING
71: currency <- function(n, k=FALSE) {
72:   n <- ifelse(!k, str_c("
                        ^
In addition: Warning message:
In readLines(con, warn = FALSE, n = n, ok = ok, skipNul = skipNul) :
invalid input found on input connection '/home/richardc/ownCloud/prodr/R/plot_helpers.R'

但是我可以在编辑器中运行代码,并且可以正常工作。是什么导致readLines以这种方式失败?

2 个答案:

答案 0 :(得分:0)

经过一番混乱后,我意识到问题出在devtools中。在这里回顾一下测试项目testencr.prj:

library(stringr)
library(devtools)

main <- function(n) {
  n <- str_c("£", n)
  return(n)
}

我可以在控制台上正常运行代码,但是当我使用devtools时,它会打UTF-8字符:

> devtools::load_all()
Loading testencr
Error in parse(text = lines, n = -1, srcfile = srcfile) : 
  /home/richardc/ownCloud/test/R/test_enc.R:6:14: unexpected INCOMPLETE_STRING
5: main <- function(n) {
6:   n <- str_c("
                ^
In addition: There were 27 warnings (use warnings() to see them)

但是当我在Description中添加特定的编码

Encoding: UTF-8

一切正常(尽管项目默认值为UTF8)

Loading testencr
There were 36 warnings (use warnings() to see them)```


答案 1 :(得分:0)

我遇到了同样的问题,特别是在Shiny应用程序中(并非在其余时间)。我设法使用此unicode而不是£来解决它:

enc2utf8("\u00A3")