簡體   English   中英

PHP shell_exec輸出問號

[英]PHP shell_exec outputs question marks

我正在使用一個PHP腳本,該腳本通過shell_exec調用外部程序,並且我對它的輸出感興趣。 問題是,當我使用俄語字母時,輸出總是以問號出現。

整個過程在Ubuntu 11.10上是runnnig,當以bash執行外部程序時,它將產生正確的輸出(無問號)。

這是我的代碼:

setlocale(LC_ALL, "en_US.UTF-8");
echo morpher("Антон");

function morpher($command) {
    static $path = '/usr/bin/mono %sengine/helpers/language/morpher.exe %s';
    $path = sprintf($path, SITE_ROOT, $command);

    $output = shell_exec($path);

    error_log($output) // series of question marks instead of russian letters
    error_log( mb_detect_encoding($output) ); // outputs ASCII
    error_log( iconv('ASCII', 'UTF-8', $output) ); // same question marks

    return explode("\n", $output);
}

通過添加LANG="en_US.UTF8"解決,例如: 'LANG="en_US.UTF8" mono %sengine/helpers/language/morpher.exe %s';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM