Home  >  Article  >  Backend Development  >  What to do if php exec results are garbled

What to do if php exec results are garbled

藏色散人
藏色散人Original
2022-10-21 10:17:181304browse

Solution to garbled php exec results: 1. Open the corresponding PHP code file; 2. Check the code at exec; 3. Modify the content to "exec("python cmd.py",$str); foreach($str as $res){$str = iconv("GBK", "UTF-8", $res);}echo $str;".

What to do if php exec results are garbled

The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.

What should I do if the php exec result is garbled?

php Fill in the pit exec or shell_exec cannot return Chinese garbled characters

Originally wanted to execute:

exec("python cmd.py",$str);
var_dump($str);

The cmd.py file output contains Chinese, and the result is displayed It is shown in the picture below:

What to do if php exec results are garbled

After searching on Baidu and csdn, many bloggers said that it can be solved by setting a predetermined encoding. For example, add the encoding before executing the command and then execute:

$locale='en_US.UTF-8';
setlocale(LC_ALL,$locale);
putenv('LC_ALL='.$locale);
exec("python cmd.py",$str);
var_dump($str);

After trying it, I found that the problem still exists and it has no effect. . After a long search on Google, I finally found the solution, so I didn't dare to leave it alone, so I posted it to share. . No nonsense, just go straight to it. . .

exec:

exec("python cmd.py",$str);
foreach($str as $res)
{
    $str = iconv("GBK", "UTF-8", $res);
}
echo $str;

shell_exec:

$res = shell_exec("python cmd.py");
echo iconv("GBK", "UTF-8", $res);

Recommended study: "PHP Video Tutorial"

The above is the detailed content of What to do if php exec results are garbled. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn