Maison >développement back-end >Problème PHP >Que faire si les résultats de l'exécution de PHP sont tronqués
Solution aux résultats d'exécution php tronqués : 1. Ouvrez le fichier de code PHP correspondant ; 2. Vérifiez le code dans exec; 3. Modifiez le contenu en "exec("python cmd.py",$str); foreach($str) as $res){$str = iconv("GBK", "UTF-8", $res);}echo $str;".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.
Que dois-je faire si le résultat de l'exécution php est tronqué ?
php résout le problème selon lequel exec ou shell_exec ne peut pas renvoyer des caractères chinois tronqués
Voulait initialement exécuter :
exec("python cmd.py",$str); var_dump($str);
La sortie du fichier cmd.py contient du chinois, et le résultat est comme indiqué dans la figure ci-dessous :
Après que Baidu et de nombreux blogueurs de la recherche csdn ont déclaré que le problème pouvait être résolu en définissant un encodage prédéterminé, par exemple, ajoutez l'encodage avant d'exécuter la commande, puis exécutez-le :
$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 persistait. existe et cela n’a aucun effet. . Après une longue recherche sur Google, j'ai finalement trouvé une solution, donc je n'ai pas osé la laisser tranquille, alors je l'ai postée pour la partager. . Pas de bêtises, allez-y directement. . .
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);
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!