php执行结果有中文,php 执行的系统命令带中文时乱码

首先查看系统对中文的支持

locale -a | grep zh_CN

zh_CN

zh_CN.gb18030

zh_CN.gb2312

zh_CN.gbk

zh_CN.utf8

vi ~/.bash_profile

文件末尾添加:

export LANG="zh_CN.UTF-8"

export LC_ALL="zh_CN.UTF-8"

export LANG="en_US.UTF-8"

export LC_ALL="en_US.UTF-8"

在php文件调用exec前设定环境变量

$locale='en_US.UTF-8'; // 或 $locale='zh_CN.UTF-8';

setlocale(LC_ALL,$locale);

putenv('LC_ALL='.$locale);

$txt = "/home/admin/wwwroot/zhuanma/public/txttest.txt";

$cmd = "iconv -f gb2312 -t utf-8 ".$txt." -c -s -o test.odt";

var_dump($cmd);

exec($cmd);

$txt2 = "/home/admin/wwwroot/zhuanma/public/test.odt";

$tmp = "/home/admin/wwwroot/zhuanma/public";

$set_charset = 'export LANG=en_US.UTF-8;';

$cmd2 = $set_charset." soffice --headless --convert-to pdf ".$txt2." --outdir ".$tmp;

var_dump($cmd2);

exec($cmd2. " >> /home/admin/wwwroot/zhuanma/public/test.log 2>&1");

查看文件编码

file -i test.txt

查看环境变量

export -p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值