如何使用子进程从 python 脚本中显示正确的中文单词

How can display correct Chinese word from the python script using subprocess

无法显示来自 python 脚本的正确中文单词

Python代码

import subprocess
import re

strCmdResult = subprocess.Popen("curl -vvv 'http://xxxx.xxxx.xxxx/xxxx/xxxx.js?r=0071563892276000' -H 'Referer: http://xxx.xxx.xxx'", shell=True, stdout=subprocess.PIPE).stdout.read()
print strCmdResult

输出

rq[56]="1739907^1^11^45^▒▒▒▒▒Ρ▒~▒▒▒▒^27633,24230^▒ڶ▒▒▒ϣ▒▒▒▒Ŭ▒▒ŵ▒▒▒▒^6687323^";

在您的 python 代码中使用 utf-8 字符集:

# -*- coding: utf-8 -*-
# Code goes here

request

中使用 utf-8 字符集

您可能需要 encode/decode 您的字符串结果

文件似乎编码为 gbk 或 gb18030 encoding

两者都为该特定行生成此输出:

"1732948^1^1^85^洛迪高阿古利 (助攻:A.華倫西亞)^84828^洛迪高阿古利 (助攻:A.瓦伦西亚)^6687325^25000"

为中文列出的其他编码无法解码数据。

你可以这样解码:

strCmdResult = subprocess.Popen("curl -vvv 'http://xxx.xxxx.xxx/xxxx/xxx.js?r=0071563892276000' -H 'Referer: http://xxxx.xxx.xxx'", shell=True, stdout=subprocess.PIPE).stdout.read()
decoded = strCmdResult.decode('gbk')
print decoded