PHP 执行使用system等函数执行外部脚本,导致脚本中文乱码问题

有个功能通过脚本获取git的差异文件

#!/bin/bash
LOG=d:/pushCode/logs/git_dev_release_test_view.log
FILELOG=d:/pushCode/logs/git_file_view.log
echo "`date +%Y-%m-%d-%H:%M:%S` Begin update test code...$1..." >>$LOG
cd d:/wwwroot/intensiveView
git pull origin master >>$LOG
git diff HEAD^ --name-only >$FILELOG
echo "----------日志结束------------"
echo 1
exit 0

保存文件的记录文件git_file_vie.log,手工执行脚本时中文不会乱码,但是如果使用PHP的system等函数处理的情况下,中文会转码,不知道有没有大佬遇到过这种问题能够指点一下!


尝试过转UTF-8,但是转不成功。。。 下面是PHP的处理代码

$devSh='D:\pushCode\pull2.sh';
        system($devSh);

        $file_list=file_get_contents('d:/pushCode/logs/git_file_view.log');
$file_list =  str_replace(array("\r\n", "\r", "\n"), " ", $file_list); //切割文本
$file_list = trim($file_list);//去除首尾空格!
$file_list = explode(' ',$file_list);
if (empty($file_list)){
    echo 1;
    return;
}
foreach ($file_list as $v){
                   Queue::push(PushView::class,$v,'pushView');//插入队列
}
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!