使用taskscheduleR调度R脚本时,如何直接设置UTF-8编码?
不用中间脚本解决taskscheduleR的UTF-8编码问题
当然不需要额外的中间脚本!你可以直接在taskscheduleR的调度配置里,通过给Rscript传递编码参数来解决冰岛语特殊字符的问题。
具体来说,taskscheduler_create函数有一个rscript_args参数,专门用来给底层调用的Rscript命令添加额外参数。我们只需要在这里指定--encoding=UTF-8,就能让Rscript以UTF-8编码读取你的task.R脚本,效果和你手动执行source("task.R", encoding = "UTF-8")完全一致。
举个实际的配置例子:
library(taskscheduleR) taskscheduler_create( taskname = "daily_data_processing", rscript = "C:/your_script_path/task.R", # 替换成你的实际脚本路径 rscript_args = "--encoding=UTF-8", # 关键:添加编码参数 schedule = "DAILY", starttime = "08:30" )
这样设置后,调度任务执行时,Rscript会自动用UTF-8编码解析task.R里的冰岛语特殊字符,不会再出现Ára变成ára的乱码问题。
如果你的脚本路径包含空格,记得把路径用双引号括起来,比如:
rscript = '"C:/My Scripts/task.R"'
内容的提问来源于stack exchange,提问作者Viðar Ingason
相关产品推荐
相关产品推荐

