Maison >développement back-end >Problème PHP >Comment résoudre le problème de l'exécutable php tronqué

Comment résoudre le problème de l'exécutable php tronqué

藏色散人
藏色散人original
2021-12-31 11:15:073259parcourir

Solution au code tronqué de l'exécutable php : 1. Exécutez "exec("python cmd.py",$str);"; 2. Utilisez "iconv("GBK", "UTF-8", $res);" convertir l'encodage.

Comment résoudre le problème de l'exécutable php tronqué

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment résoudre le problème des caractères tronqués de php exec ?

php Remplissez le pit exec ou shell_exec ne peut pas renvoyer des caractères chinois tronqués

Voulait à l'origine exécuter :

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

La sortie du fichier cmd.py contient du chinois, et le résultat est affiché dans l'image ci-dessous :

Comment résoudre le problème de lexécutable php tronqué

De nombreux blogueurs ont déclaré que cela pouvait être résolu en définissant un paramètre prédéterminé encodage, comme ajouter l'encodage avant d'exécuter la commande Exécution :

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

Après l'avoir essayé, j'ai constaté que le problème existe toujours et qu'il n'a aucun effet. . Après une longue recherche sur Google, j'ai finalement trouvé la solution, donc je n'ai pas osé la laisser tranquille, alors je l'ai postée pour la partager. .

Pas de bêtises, commencez simplement. . .

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);

Les retours exec et shell_exec ci-dessus peuvent afficher le chinois !

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn