解决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 相关文章推荐
linux 下实现python多版本安装实践
Nov 18 Python
Python中的对象,方法,类,实例,函数用法分析
Jan 15 Python
举例介绍Python中的25个隐藏特性
Mar 30 Python
Python的dict字典结构操作方法学习笔记
May 07 Python
python爬虫_微信公众号推送信息爬取的实例
Oct 23 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
Python统计单词出现的次数
Apr 04 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
python视频按帧截取图片工具
Jul 23 Python
python二进制读写及特殊码同步实现详解
Oct 11 Python
Jupyter Notebook 安装配置与使用详解
Jan 06 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
SONY ICF-SW07收音机电路分析
2021/03/02 无线电
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
一端时间轮换的广告
2006/06/26 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
js转换对象为xml
2017/02/17 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
vue 动态创建组件的两种方法
2020/12/31 Vue.js
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
Python多线程下载文件的方法
2015/07/10 Python
python Pygame的具体使用讲解
2017/11/03 Python
Python中装饰器高级用法详解
2017/12/25 Python
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
详解python tkinter模块安装过程
2020/01/06 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
python 如何调用 dubbo 接口
2020/09/24 Python
计算机网络及管理学专业求职信
2014/06/05 职场文书
社区党建工作方案
2014/06/10 职场文书
python实现简单反弹球游戏
2021/04/12 Python
Python爬虫之爬取某文库文档数据
2021/04/21 Python
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP