解决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 相关文章推荐
使用rpclib进行Python网络编程时的注释问题
May 06 Python
python八大排序算法速度实例对比
Dec 06 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
python 正确保留多位小数的实例
Jul 16 Python
python如何发布自已pip项目的方法步骤
Oct 09 Python
Python八皇后问题解答过程详解
Jul 29 Python
python解析yaml文件过程详解
Aug 30 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
Python中import导入不同目录的模块方法详解
Feb 18 Python
Flask处理Web表单的实现方法
Jan 31 Python
python中使用asyncio实现异步IO实例分析
Feb 26 Python
Python如何导出导入所有依赖包详解
Jun 08 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
制作美丽的拉花
2021/03/03 冲泡冲煮
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
php数组键值用法实例分析
2015/02/27 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
javascript下function声明一些小结
2007/12/28 Javascript
学习ExtJS accordion布局
2009/10/08 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
小小聊天室Python代码实现
2016/08/17 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
名片管理系统python版
2018/01/11 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
python交互界面的退出方法
2019/02/16 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
python向企业微信发送文字和图片消息的示例
2020/09/28 Python
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
工作中个人的自我评价
2013/12/31 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
大学迎新标语
2014/06/26 职场文书