解决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实现方法
Nov 18 Python
举例讲解Python程序与系统shell交互的方式
Apr 09 Python
用Python计算三角函数之atan()方法的使用
May 15 Python
Python基础学习之常见的内建函数整理
Sep 06 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
Jan 11 Python
DataFrame中的object转换成float的方法
Apr 10 Python
python3模块smtplib实现发送邮件功能
May 22 Python
详解Python Matplot中文显示完美解决方案
Mar 07 Python
Django基础知识 web框架的本质详解
Jul 18 Python
python编写猜数字小游戏
Oct 06 Python
python 线性回归分析模型检验标准--拟合优度详解
Feb 24 Python
python中uuid模块实例浅析
Dec 29 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目录导航文件代码
2006/10/09 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
PHP时间处理类操作示例
2018/09/05 PHP
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
动态读取JSON解析键值对的方法
2014/06/03 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
vue源码入口文件分析(推荐)
2018/01/30 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
原生js实现下拉选项卡
2019/11/27 Javascript
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
对Python3 序列解包详解
2019/02/16 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
Django实现文件上传下载
2019/10/06 Python
详解Python中的Lock和Rlock
2021/01/26 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
青年文明号服务承诺
2014/03/31 职场文书
医院搬迁方案
2014/06/14 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书