Lösung für verstümmelten PHP-Exec-Code: 1. Führen Sie „exec(“python cmd.py“,$str);“ aus. 2. Verwenden Sie einfach „iconv(“GBK“, „UTF-8“, $res);“ Konvertieren Sie die Kodierung.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Wie löse ich das Problem der verstümmelten PHP-Exec-Zeichen?
php Füllen Sie die Grube exec oder shell_exec nicht aus chinesische verstümmelte Zeichen zurückgeben
Ursprünglich wollte ich Folgendes ausführen:
exec("python cmd.py",$str); var_dump($str);
Die Ausgabe der cmd.py-Datei enthält Chinesisch, und das Ergebnis ist im Bild unten dargestellt:
Viele Blogger sagten, dass es durch Festlegen einer Vorgabe gelöst werden kann Codierung, z. B. Hinzufügen der Codierung vor der Ausführung des Befehls:
$locale='en_US.UTF-8'; setlocale(LC_ALL,$locale); putenv('LC_ALL='.$locale); exec("python cmd.py",$str); var_dump($str);
Nachdem ich es ausprobiert habe, stellte ich fest, dass das Problem weiterhin besteht und keine Auswirkung hat. . Nach einer langen Suche bei Google habe ich endlich eine Lösung gefunden, also habe ich mich nicht getraut, sie stehen zu lassen, also habe ich sie gepostet, um sie zu teilen. .
Kein Unsinn, fang einfach an. . .
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);
Sowohl die Exec- als auch die Shell_exec-Rückgabe oben können Chinesisch anzeigen!
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo lösen Sie das verstümmelte PHP-Exec-Problem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!