• 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
  • 相关阅读:
    HDU4465 Candy
    《有关概率和期望问题的研究》读书笔记(完成度:40%)
    HDU5583 Kingdom of Black and White
    Gym100548F Color
    HDU6035 Colorful Tree
    Echarts笔记
    springMVC
    Struts2
    SSH框架学习中遇到的问题
    I/O流
  • 原文地址:https://www.cnblogs.com/zhaojq1/p/11131161.html
Copyright © 2020-2023  润新知