【问题标题】:Command line character encoding from PHP's exec()来自 PHP 的 exec() 的命令行字符编码
【发布时间】:2010-08-04 22:38:18
【问题描述】:

我正在尝试使用 php 的 exec 函数将 UTF-8 文本作为参数传递给命令行程序,但遇到了问题。我怀疑这是由于字符编码问题。

当我从命令行调用locale charmap 时,我得到:UTF-8

但是当我这样做时:

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

我明白了

ANSI_X3.4-1968

我该如何改变呢?这不是我想设置一次的东西——我可能会使用不同的语言/编码,所以每次调用 exec() 可能需要不同的。但即使知道如何将其设置为 UTF-8 一次也会有所帮助。

【问题讨论】:

    标签: php encoding exec character-encoding


    【解决方案1】:

    在命令前加上LANG = &lt;language&gt;.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

    您应该安装了语言环境。

    【讨论】:

    • 救命稻草。非常感谢。
    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多