代码之家  ›  专栏  ›  技术社区  ›  philfreo

PHP的exec()命令行字符编码

  •  6
  • philfreo  · 技术社区  · 15 年前

    我尝试将UTF-8文本作为参数传递给使用php的命令行程序 exec

    当我打电话的时候 locale charmap UTF-8 .

    <?php echo exec('locale charmap'); ?>
    

    我明白了

    ANSI_X3.4-1968

    我怎样才能改变这个?这不是我想设置一次的东西——我可能会使用不同的语言/编码,所以每次调用 exec() 可能需要另一个。但即使知道如何设定 UTF-8型

    1 回复  |  直到 15 年前
        1
  •  14
  •   Artefacto    15 年前

    在命令前面加上 LANG = <language>.UTF8 .

    例子:

    $ php -r "echo exec('LANG=\"en_US.UTF8\" locale charmap');"
    UTF-8
    $ php -r "echo exec('LANG=\"en_US.iso88591\" locale charmap');
    ISO-8859-1