因為有一部分程序是 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 sysimport 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 程序調用執行返回亂碼的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答