当我手动运行此bash脚本时,文件Ref.csv将转换为UTF-8。
csv / itm / Ref.csv:text / plain;字符集= UTF-8
#!/bin/bash
awk -v OFS=";" '
FNR==1 { a[1]=a[1] (a[1]==""?"":OFS) $0; next }
FNR==NR { a[NR]=$0 OFS 0 OFS 0; next }
{ a[NR]=0 OFS 0 OFS $0 }
END { for(i=1;i<=NR;i++)if(i in a)print a[i] }
' csv/Liste_EAN.csv csv/Liste_PDV.csv >> csv/itm/Ref_f.csv;
cat csv/itm/Ref_f.csv | awk 'BEGIN{ FS=" *;"; OFS=";" } {$1=$1; print $0}' >> csv/itm/Ref_n.csv;
iconv --from-code=ISO-8859-1 --to-code=UTF-8 csv/itm/Ref_n.csv > csv/itm/Ref.csv;
rm csv/itm/Ref_f.csv;
rm csv/itm/Ref_n.csv;
但是当我使用php shellexec运行它时,文件没有正确转换。
shell_exec('./script.sh');
csv / itm / Ref.csv:text / plain;字符集=未知-8位
如何解决此错误?