python程序执行cmd乱码

发布时间 2023-03-22 21:11:42作者: 3ξ

背景起源
需要svn log -limit 1获取日志(含中文),
我Python程序运行毫无问题,程序无乱码,中文可以正常解析,
但是有功能需要调用其他程序,调用(客户端)node去做一些事情,
然后莫名其妙的就乱码了,变成了
| 1 line\r\n\r\n1????????????\r\n


解决
知道是编码问题,然后我就开始尝试
utf-8
gbk
ISO-8859-1
以上都不管用
然后gb2312拯救了我,他可以解决大部分乱码
r = svn_call(cmd, stderr=None, cwd=cwd,encoding="gb2312")