显然,这是编码问题,通常会出现在windows上,主要是本机编码不是utf-8导致的。
使用python查看本机的编码如下
>>> import locale
>>> locale.getdefaultlocale()
('zh_CN', 'cp936')
cp936就是gbk的意思
所以我们在开启进程的时候,如果可以的话,记得设置encoding参数
如果是对输出结果二进制进行解析的话,也记得解码格式与本机格式相同。
示例代码如下:
subprocess.check_output(cmd).decode(encoding="utf-8")