擅长:python、mysql、java
<p>在编解码器打开()将使用您提供的编解码器(utf-8)对文件内容进行解码。然后有一个pythonunicode对象(其行为类似于string对象)。在</p>
<p>打印unicode对象将导致使用默认编解码器(通常是<code>ascii</code>)进行隐式</em>(幕后)<em>编码</em>。如果<code>ascii</code>不能对所有存在的字符进行编码,它将失败。在</p>
<p>因此,首先要对其进行编码:</p>
<pre><code>for location in locations:
print location['name'].encode('utf8')
</code></pre>
<p><strong>编辑:</strong></p>
<p>为了您的信息,<code>json.load()</code>实际上接受一个类似文件的对象(这是<code>codecs.open()</code>返回的内容)。此时,您所拥有的既不是字符串也不是unicode对象,而是文件周围的iterable包装器。在</p>
<p>默认情况下,<code>json.load()</code>要求文件为utf8编码,这样可以简化代码片段:</p>
^{pr2}$