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.
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 :
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!