我尝试使用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'),
答案 0 :(得分:2)
您确定该文件有效吗?这不是MS Word第一次产生无效数据。如果有一些字符不是有效的Unicode,那么很好地解释了这个错误。如果它们是合理的,请查看给定的字节。