首页 > 解决方案 > R 不支持从“CP1,254”到“”的转换

问题描述

我正在写一个程序R studio。我的程序运行良好,R studio但是当我尝试使用.bat命令运行它时,它给了我以下错误:

文件错误(文件名,“r”,编码 = 编码):不支持从 'CP1,254' 到 '' 的转换调用:runApp ... sourceUTF8 -> eval -> eval -> ..stacktraceon.. -> source - > 文件执行停止

整个run.r.Rout文件可以在下面找到:

> require(shiny)
Loading required package: shiny
> folder_address = '~//app_v2'
> runApp(folder_address, launch.browser = TRUE)

Attaching package: 'dplyr'

The following objects are masked from 'package:stats':

    filter, lag

The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

Warning: package 'lubridate' was built under R version 3.4.4

Attaching package: 'lubridate'

The following object is masked from 'package:base':

    date

Error in file(filename, "r", encoding = encoding) : 
  unsupported conversion from 'CP1,254' to ''
Calls: runApp ... sourceUTF8 -> eval -> eval -> ..stacktraceon.. -> source -> file
Execution halted

我在这里错过了什么吗?解决方案必须很简单,但我就是想不通。这可能与lubridate包装使用有关吗?同样,我的程序在 R studio 上运行良好,但在终端上运行时出错。

任何帮助将不胜感激。提前致谢。

标签: rrstudio

解决方案


看起来好像代码的某些部分认为您当前的文件编码是"CP1,254",这不是真正的编码。你可以看到 R 知道的关于使用的完整编码列表iconvlist()。在我的系统上,包括"CP1254"在土耳其语言环境中的 Windows 上使用的“代码页 1254”。

所以你需要弄清楚那个逗号是从哪里来的。也许一些代码查询代码页,并插入formatC-style big.mark


推荐阅读