小编Eri*_*son的帖子

python中的stdout编码

我不应该用这个开始我所有的 python程序吗?做这样的高手时有什么特别的遗失吗?

#!/usr/bin/python
import os, sys
if sys.stdout.encoding == None:
    os.putenv("PYTHONIOENCODING",'UTF-8')
    os.execv(sys.executable,['python']+sys.argv)
print sys.stdout.encoding
Run Code Online (Sandbox Code Playgroud)

关于PYTHONIOENCODING60个问题所以我想这是一个常见的问题,但是如果你不知道,这是完成的,因为sys.stdout.encoding == None那时你只能打印ascii字符,所以例如print "åäö"会抛出异常..

编辑当stdout是管道时,这种情况发生在我身上; python encoding.py|cat将编码设置为无

另一个解决方案是更改stdout编解码器,sys.stdout = codecs.getwriter('utf8')(sys.stdout)我猜这是正确的答案,反映了对该问题的评论.

python unicode character-encoding

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

character-encoding ×1

python ×1

unicode ×1