我从网站中提取unicode文本并进行一些可能包含非ascii字符的打印。打印那些会引发UnicodeEncodeError
。我该如何处理这个案子?我需要一个需要对现有代码进行最小更改的解决方案。
我尝试使用UTF-8对字符串进行编码(通过包装sys.stdout
),但之后我得到了TypeError
,因为原来的sys.stdout.write()
方法需要str
而不是{{} 1}}。
我不想让角色丢失。用户可能希望将输出通过管道传输到一个文件中,在这种情况下,该格式为UTF8格式。
编辑:设置bytes
可以解决问题,但是我没有办法模仿"在Python中的这种行为?由于utf8与Windows控制台编码不匹配,因此某些字符看起来很奇怪。但这比计划的崩溃要好得多。
无论如何要格式化Python的输出,所以我不需要修改环境变量?