擅长:python、mysql、java
<p>如上所述,我提供的代码片段实际上是按预期工作的——问题出在我的终端上,而不是python编码上。</p>
<p>如果您的视图需要访问UTF-8<code>UploadedFile</code>,您可以使用<code>utf8_file = codecs.EncodedFile(request.FILES['file_field'],"utf-8")</code>以正确的编码打开文件对象。</p>
<p>我还注意到,至少对于<code>InMemoryUploadedFile</code>s,通过<code>codecs.EncodedFile</code>包装器打开文件不会重置文件描述符的<code>seek()</code>位置。要返回到文件的开头(同样,这可能是特定于<code>InMemoryUploadedFile</code>),我只使用<code>request.FILES['file_field'].open()</code>将<code>seek()</code>位置发送回0。</p>