【发布时间】:2011-06-05 19:57:47
【问题描述】:
我的 Django 视图/模板无法处理特殊字符。由于ñ,下面的简单视图失败了。我收到以下错误:
文件中的非ASCII字符'\xf1'
def test(request):
return HttpResponse('español')
我需要设置一些常规设置吗?如果我必须单独处理所有字符串会很奇怪:非美国字母很常见!
编辑 这是对以下 cmets 的回应。它仍然失败:(
按照 Gabi 的建议,我将编码注释添加到我的视图中,并将元信息添加到我的 html 中。
现在我上面的例子没有给出错误,但是 ñ 显示不正确。
我试过return render_to_response('tube/mysite.html', {"s": 'español'})。没有错误,但它不会显示(如果 s = hello 会显示)。 html页面其他信息显示正常。
我尝试将“español”硬编码到我的 HTML 中,但失败了:
UnicodeDecodeError 'utf8' 编解码器无法解码字节 0xf。
我尝试在字符串前面加上 u:
SyntaxError (unicode error) 'utf8' codec can't decode byte 0xf1
这有帮助吗??
【问题讨论】:
-
您得到的实际错误是什么?是 UnicodeDecodeError 吗?
-
您使用的是哪个版本的 Django?不是0.96吧?
-
您需要确保您的编辑器使用您指定的编码保存文件。
标签: python django unicode utf-8