加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2021-05-21 04:54:44 所属栏目:大数据 来源: https://blog.csdn.net/yilovex
导读:因为有一部分程序是 Python 写的,所以需要 PHP 调用 Python 程序返回数据,使用 exec 返回的是乱码 $data = "Geek程序员"$get = exec(/usr/bin/python3 main.py $data); 所以载调用 Python 程序之前需要转码 $data = "Geek程序员"$data = urlencode($data)$

因为有一部分程序是 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 的字符串了

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读