【发布时间】:2016-04-10 07:34:04
【问题描述】:
我正在尝试将 SVG 图像保存到包含 Unicode 字符的文件路径中。例如:
n = c(2, 3, 5)
s = c("aa", "bb", "cc")
b = c(TRUE, FALSE, TRUE)
df = data.frame(n, s, b)
svg("c:/נועם/plots.svg")
plot(df)
dev.off()
使用 Rscript.exe 运行此程序失败并出现以下错误:
plot.new() 中的错误:cairo 错误“写入输出流时出错”
我怎样才能让它工作?
【问题讨论】:
-
看起来是 Windows 问题。
-
我建议首先不要在希伯来语中创建目录名称。根据我的经验,仅使用英语工作是最安全的做法,可以避免此类问题和许多其他潜在问题。
-
另外,看看当你做
normalizePath("c:/נועם/plots.svg")时会发生什么@ -
希伯来语只是作为一个例子。该脚本尝试写入用户本地文件夹(c:/users/
),当帐户用户名包含 Unicode 字符时,我遇到了这个错误。 -
@NoamBehar 作为系统管理员我会支持 David 的建议,不要使用除了 ascii 字母之外的任何东西。带有 unicode 的用户名会导致问题,主目录管理起来很麻烦,NTFS 上的权限有时会挂起等。要修复您的脚本,请在用户家之外的其他地方编写。如果安全/权限是一个问题,请管理它们,而不是依赖文件的“应该是”状态,因为无论如何都无法保证。
标签: r svg unicode filesystems rscript