Pytho在调用os.popen(cmd).read(),编码报错的问题

如题,我在调用os.popen(cmd).read()后,报了:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 74: illegal multibyte sequence

其中cmd指令是调用了某个jar包,jar输出的应该是utf-8,那么问题来了,我怎么样做才可以让read读取的是utf-8而不是gbk呢,请大神们赐教


r = os.popen(cmd)
response = r.buffer.read().decode(encoding='utf-8')

如果想换utf-8的话就别用os.popen()了,要不你把你环境变量的默认编码改了,要不用subprocess模块的subprocess.Popen()方法。