【发布时间】:2026-02-13 09:20:03
【问题描述】:
按照here 提供的解决方案,我正在尝试实现一个替换重音字符的脚本。从控制台执行我的代码可以正常工作,但是当我执行此代码时:
x <- list('ÿ'='y')
来自 RStudio 脚本 R 返回以下错误:
source('~/R/DrivingDataAnalysis/R/WebScraper/VoltstatsScraper.R', encoding = 'UTF-8') 源错误(“~/TestScript.R”,: ~/TestScript.R:1:6: 意外的 INCOMPLETE_STRING 1:列表(' ^
对于链接中的其他重音字符,R 会解析脚本。如何在脚本中完成这项工作?我在 Windows 7 上使用 R 3.3.1 和 RStudio 0.99.896。
【问题讨论】:
-
我无法在 RStudio 0.99.1266(预览版)上复制此问题。看起来 UTF-8 编码是在 0.99.903 中引入的(请参阅support.rstudio.com/hc/en-us/articles/…),因此您可能只需要更新您的 RStudio 版本
-
感谢您的帮助。将 RStudio 更新到 0.99.903 确实解决了将编码设置为:ISO-8859-1 时的问题。然而,对于普通的 UTF-8 编码,问题仍然存在。您是否尝试将编码设置为“UTF-8”以重现错误?还将编码设置为 WINDOWS-1252 也会产生此错误。
-
非 ASCII 字符 + R + Windows == 你会过得很糟糕。
-
是的,看起来很像 :-)。由于这是一个更大列表中的唯一角色,因此无论如何都不是世界末日
-
虽然 Kevin 是对的,但您通常应该将编码设置为 UTF-8,而且几乎没有理由使用 Windows-foo/ISO-bar 等传统编码。要在 Windows 上使用 Unicode 解决 R 错误,请使用
eval(parse(…, encoding = 'UTF-8')instead ofsource(…)。