我正在从执行 java jar 文件的 php 执行批处理文件。当我正常运行命令时它运行良好,但是当我通过 php 执行它时。它给出了上述错误。
有人可以帮忙吗?
爪哇:
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
//get current date time
//tdt = new java.util.Date();
Calendar c = Calendar.getInstance();
try {
tdt= sdf.parse(startdate);
} catch (ParseException ex) {
Logger.getLogger(ReportExporter.class.getName()).log(Level.SEVERE, null, ex);
}
PHP:
$command ="cmd /c ".EXPORT_BATCH_PATH." ".$fromdate." ".$todate." &";
echo $command;
$result = system($command, $output);
或者:
$command ="cmd /c ".EXPORT_BATCH_PATH." ".$fromdate." ".$todate." &";
echo $command;
$result = exec($command, $output);
当我手动运行上面的 echo $command 值时,它运行正常。但通过 php 执行给出错误。
我的 PHP 脚本包含这一行;
<?php header('Content-type: text/html; charset=utf-8');
setlocale(LC_ALL, 'en_US');?>
文字编码有问题吗??
请查看接受的答案。下面的行解决了我的问题;
java -Duser.language=en -Duser.region=US -Dfile.encoding=UTF-8 -jar c:\Progra~1\MyApplication\MyApplication.jar -exportfromto %1 %2