'utf8'编解码器无法解码字节:不支持的Unicode代码范围

时间:2011-11-27 16:07:28

标签: django unicode

我尝试使用django提供包含unicode文本的html页面并收到以下内容:

UnicodeDecodeError at /my_page.html
'utf8' codec can't decode bytes in position 28283-28287: unsupported Unicode code range
Request Method: GET
Request URL:    http://mysite.com/my_page.html
Django Version: 1.2.4
Exception Type: UnicodeDecodeError
Exception Value:    
'utf8' codec can't decode bytes in position 28283-28287: unsupported Unicode code range
Exception Location: /usr/local/lib/python2.6/encodings/utf_8.py in decode, line 16
Python Executable:  /usr/local/bin/python
Python Version: 2.6.5

页面是由(请不要杀了我)MS Word生成的,但是当我保存它时我确定它已设置为utf8。该文件的标题中还包含以下标记:

<meta http-equiv=Content-Type content="text/html; charset=utf-8">

我确实需要保留unicode,因为页面不是英文的。我能做些什么让django呈现页面?
为什么django关心而不是简单地让浏览器来处理它?(本地页面当然没问题)

可能是因为django正在尝试将此页面作为模板处理吗?我在urls.py中使用了以下内容,以便重定向到文件本身:

(r'(.+).html$', 'django.views.generic.simple.direct_to_template'),

1 个答案:

答案 0 :(得分:2)

您确定该文件有效吗?这不是MS Word第一次产生无效数据。如果有一些字符不是有效的Unicode,那么很好地解释了这个错误。如果它们是合理的,请查看给定的字节。