擅长:python、mysql、java
<p>首先,关于这个解决方案:</p>
<pre><code># -*- coding: utf-8 -*-
print u"åäö".encode('utf-8')
</code></pre>
<p>每次都用给定的编码显式打印是不实际的。这将是重复和容易出错的。</p>
<p>更好的解决方案是在程序开始时更改<strong><code>sys.stdout</code></strong>,使用选定的编码进行编码。以下是我在<a href="http://drj11.wordpress.com/2007/05/14/python-how-is-sysstdoutencoding-chosen/" rel="noreferrer">Python: How is sys.stdout.encoding chosen?</a>上找到的一个解决方案,特别是“toka”的一个注释:</p>
<pre><code>import sys
import codecs
sys.stdout = codecs.getwriter('utf8')(sys.stdout)
</code></pre>