解决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登录QQ邮箱发信的实现代码
Feb 10 Python
python选择排序算法实例总结
Jul 01 Python
简单讲解Python中的闭包
Aug 11 Python
Python编程入门之Hello World的三种实现方式
Nov 13 Python
Python使用pip安装pySerial串口通讯模块
Apr 20 Python
浅析Python数据处理
May 02 Python
python替换字符串中的子串图文步骤
Jun 19 Python
python+tkinter实现学生管理系统
Aug 20 Python
PyCharm 专业版安装图文教程
Feb 20 Python
keras自定义损失函数并且模型加载的写法介绍
Jun 15 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
Jan 23 Python
python 判断字符串当中是否包含字符(str.contain)
Jun 01 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
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
javascript GUID生成器实现代码
2009/10/31 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
解释&&和||在javascript中的另类用法
2014/07/28 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
js实现适配移动端的拖动效果
2020/01/13 Javascript
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python 连连看连接算法
2008/11/22 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
python调用虹软2.0第三版的具体使用
2019/02/22 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
python圣诞树编写实例详解
2020/02/13 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
品质主管的岗位职责
2013/12/04 职场文书
经贸日语专业个人求职信
2013/12/13 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS
Vue3.0 手写放大镜效果
2021/07/25 Vue.js