擅长:python、mysql、java
<p>您试图在不指定编码的情况下打开文件,这意味着python使用默认值(ASCII)。</p>
<p>您需要使用<code>.decode()</code>函数显式解码字节字符串:</p>
<pre><code> template_str = template_str.decode('utf8')
</code></pre>
<p>您试图插入到模板中的<code>val</code>变量本身就是一个unicode值,python希望将字节字符串模板(从文件读取)也自动转换为unicode值,以便它可以将两者结合起来,并且它将使用默认编码来这样做。</p>
<p>我有没有说过你应该读乔尔·斯波尔斯基的<a href="http://www.joelonsoftware.com/articles/Unicode.html" rel="noreferrer">article on Unicode</a>和<a href="http://docs.python.org/howto/unicode.html" rel="noreferrer">Python Unicode HOWTO</a>?他们会帮助你了解这里发生了什么。</p>