【发布时间】:2021-10-26 13:39:43
【问题描述】:
我有一个 Rscript,当我在 RStudio 中执行它时它执行得很好。如果我通过批处理文件执行相同的 Rscript,它无法处理德语“元音变音”(ä、ö、ü)。
- RScript 保存为 UTF-8
- 默认文本编码设置为 UTF-8
- 我尝试将 CHCP 65001 和 chcp 1252 添加到批处理文件中,结果相同,如下所示:
CHCP 65001
"C:/Users/John Doe/Documents/R/R-4.0.5/bin/Rscript.exe" "uebel.R"
pause
是批处理的问题吗?我能做些什么来避免它?
就我而言,仅删除所有“元音变音”是行不通的。从技术上讲,它会,但实际上并非如此。
非常简单的例子:
RScript,另存为“uebel.R”:
übel <- 1+1
批处理文件,另存为:“uebel.bat”:
"C:/Users/John Doe/Documents/R/R-4.0.5/bin/Rscript.exe" "uebel.R"
pause
在 cmd 中给我错误:
Fehler: unerwartete Eingabe in "ü" (Error: unexpected input in "ü")
Rscript 中的另一个示例以及我在 cmd 中收到的内容:
cat("übelkeit")
übelkeit
【问题讨论】:
-
您是否尝试在脚本顶部添加 'options(encoding = "UTF-8")' 广告?
-
是的,没有任何改变。
-
@Dutschke 我有个主意
-
@Dutschke,您正在告诉我们您的问题区域中不存在的事情。请使用edit 选项,以确保包含有关您的 RScript 编码选项的信息、批处理文件以及足够的信息,以便有兴趣重现您的问题的每个人。评论区不是我们应该搜索其他信息以提供帮助的地方,我们需要的一切都应该在您的问题正文中明确。
-
@Dutschke,您的编辑不够好,您告诉我们您使用了
chcp命令,但它在您的提交中不存在。此外,您还评论说您在 RScript 中使用了options(encoding = "UTF-8"),但它在您的提交中不存在。我们需要能够从与您匹配的批处理文件中执行与您匹配的RScript,并重现您的错误。您提交的内容无法做到这一点,因此请提供该信息以便我们拥有minimal reproducible example,并准确告诉我们您的两个脚本已保存为什么编码,以及您的语言环境代码页是什么。
标签: r batch-file