解决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实现一个简单的线程池
Apr 07 Python
Python中使用copy模块实现列表(list)拷贝
Apr 14 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
浅谈python装饰器探究与参数的领取
Dec 01 Python
python Flask实现restful api service
Dec 04 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
Python3中的bytes和str类型详解
May 02 Python
pandas如何处理缺失值
Jul 31 Python
使用pytorch 筛选出一定范围的值
Jun 28 Python
详解python的变量缓存机制
Jan 24 Python
详解python的xlwings库读写excel操作总结
Feb 26 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 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中Snoopy类用法实例
2015/06/19 PHP
event.srcElement+表格应用
2006/08/29 Javascript
JScript内置对象Array中元素的删除方法
2007/03/08 Javascript
javascript各种复制代码收集
2008/09/20 Javascript
javascript 冒号 使用说明
2009/06/06 Javascript
JQuery 操作select标签实现代码
2010/05/14 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
JS之获取样式的简单实现方法(推荐)
2016/09/13 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
利用Python演示数型数据结构的教程
2015/04/03 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
2016/04/26 HTML / CSS
自荐书模板
2013/12/15 职场文书
经济国贸专业求职信
2014/06/18 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
律师催款函范文
2015/06/24 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
简单介绍Python的第三方库yaml
2021/06/18 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python