我在使用php调用R字编码时遇到问题 (我的环境是win7 + PHP 5.2.6 + R 2.14)
我使用上面的PHP代码在html上生成一个情节png:
putenv('PATH="D:\Program Files\R\R-2.14.0\bin"');
// R CMD BATCH
//echo system('R CMD BATCH --vanilla "E:\AppServ\www\BILOG\test.R"');
// Rscript source
//echo system('Rscript -e \'source("E:\AppServ\www\BILOG\test.R")\'');
// Rscript --vanilla
//echo system('Rscript --vanilla "E:\AppServ\www\BILOG\test.R"');
我的test.R(用中文标题生成简单的情节,“测试”意味着测试)
setwd('C:/')
png(file = 'output.png')
x=c(1.82117,1.50794,1.66560,1.16217);
hist(x, nclass=8, main="測試");
dev.off()
q()
我用3种方式用php函数system()调用R
最后,output.png无法显示中文单词“测试” (我尝试在utf-8和ansi中使用php文件,但没有用,我的R脚本是ansi)
如果我使用win7的cmd执行R CMD BATCH --vanilla“E:\ AppServ \ www \ BILOG \ test.R” (并且使用了R-gui,它成功了,但R脚本应该是ansi)
它成功了,可以显示“测试”,而用过的php无法显示“测试”。
有人可以解决有关编码的问题!?我很感激。