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


Posted in Python onFebruary 16, 2019

因为有一部分程序是 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 程序调用执行返回乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自动重试HTTP连接装饰器
Apr 28 Python
Python输出9*9乘法表的方法
May 25 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
Python3实现的Mysql数据库操作封装类
Jun 06 Python
PyCharm代码提示忽略大小写设置方法
Oct 28 Python
python numpy 按行归一化的实例
Jan 21 Python
python验证身份证信息实例代码
May 06 Python
python调用matplotlib模块绘制柱状图
Oct 18 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
python 调用Google翻译接口的方法
Dec 09 Python
python Scrapy框架原理解析
Jan 04 Python
python中取整数的几种方法
Nov 07 Python
Python3 修改默认环境的方法
Feb 16 #Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 #Python
对Python3 解析html的几种操作方式小结
Feb 16 #Python
Python实现爬取马云的微博功能示例
Feb 16 #Python
对Python3 * 和 ** 运算符详解
Feb 16 #Python
Python docx库用法示例分析
Feb 16 #Python
Python中整数的缓存机制讲解
Feb 16 #Python
You might like
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
2015/11/27 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
详解VUE 数组更新
2017/12/16 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python3读取zip文件信息的方法
2015/05/22 Python
Python continue继续循环用法总结
2018/06/10 Python
python 不以科学计数法输出的方法
2018/07/16 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
银行领导证婚词
2014/01/11 职场文书
揭牌仪式主持词
2014/03/19 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
深度学习tensorflow基础mnist
2021/04/14 Python