当前位置: 移动技术网 > IT编程>脚本编程>Python > 解决Python3 被PHP程序调用执行返回乱码的问题

解决Python3 被PHP程序调用执行返回乱码的问题

2019年03月16日  | 移动技术网IT编程  | 我要评论

多名男子闯女宿舍,鱼竿调性,炽炎幼龙的缰绳

因为有一部分程序是 python 写的,所以需要 php 调用 python 程序返回数据,使用 exec 返回的是乱码

$data = "geek程序员"
$get = exec(/usr/bin/python3 main.py $data);

所以载调用 python 程序之前需要转码

$data = "geek程序员"
$data = urlencode($data)
$get = exec(/usr/bin/python3 main.py $data);

main.py 接受到命令行传值先进行转码

import sys
import urllib.parse
 
sys.stdout = io.textiowrapper(sys.stdout.buffer, encoding='utf-8')
data = urllib.parse.unquote(sys.argv[1])

这样 php 中使用 exec 就可以获取 utf-8 的字符串了

以上这篇解决python3 被php 程序调用执行返回乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网