我想说从控制台运行程序应该可以正常工作,因为Python可以猜测终端窗口(美国Windows上为cp437)的控制台编码,但是当通过管道运行时,Python使用默认的ascii。尝试将您的程序更改为encode
所有Unicode输出的显式编码,例如:
打印(upper_line * len).encode(’cp437’)
然后,当您从管道读取它时,可以decode
返回Unicode或直接将其打印到终端。
Python unicode popen或Popen错误读取unicode
我想说从控制台运行程序应该可以正常工作,因为Python可以猜测终端窗口(美国Windows上为cp437)的控制台编码,但是当通过管道运行时,Python使用默认的ascii。尝试将您的程序更改为encode
所有Unicode输出的显式编码,例如:
打印(upper_line * len).encode(’cp437’)
然后,当您从管道读取它时,可以decode
返回Unicode或直接将其打印到终端。