@TOC
关于ThinkPHP5及以上版本使用exec()执行Python3报错的一些小启发
最近使用同学的服务器开发,用的是ThinkPHP框架。但是需要用到python的外来脚本完成一些功能,所以需要套一些python3的脚本。但是当python3脚本中有中文时,python端的输出总是有问题,特别是关于转码的一些问题。类似于: Ascii can’t decode xxxx, 或 Unicode can’t decode xxx at position xxx. 尝试了网上几乎所有的解决方案,还是无法debug。终于试了几小时之后,找出了bug所在。分享给大家,希望有用吧。
解决方案
用一句话概括解决方案:如果服务器不支持中文的话,需要把python3中所有中文全部变成utf-8(包括注释!!注意!!!包括你的中文注释!!!)具体如下图:
import requests
import json
import sys
def SongRetrival(category_wanting,sort_wanting):
try:
###First, Ask the user to prompt their