我的 Django View /模板无法处理特殊字符。由于ñ,下面的简单 View 失败了。我收到以下错误:
Non-ASCII character '\xf1' in file"
def test(request):
return HttpResponse('español')
我需要设置一些常规设置吗?如果我必须单独处理所有字符串会很奇怪:非美国字母很常见!
编辑 这是对以下评论的回应。它仍然失败:(
按照 Gabi 的建议,我将编码注释添加到我的 View 中,并将元信息添加到我的 html 中。
现在我上面的例子没有给出错误,但是 ñ 显示不正确。
我试过 return render_to_response('tube/mysite.html', {"s": 'español'})
。没有错误,但它不会显示(如果 s = hello 会显示)。 html页面其他信息显示正常。
我尝试将“español”硬编码到我的 HTML 中,但失败了:
UnicodeDecodeError 'utf8' codec can't decode byte 0xf.
我尝试在字符串前面加上 u:
SyntaxError (unicode error) 'utf8' codec can't decode byte 0xf1
这有帮助吗??
最佳答案
你的脚本开头有这个吗:
# -*- coding: utf-8 -*-
...?
见:http://www.python.org/dev/peps/pep-0263/
编辑:对于第二个问题,它是关于 html 编码的。把它放在你的 html 页面的头部(你应该将请求作为一个 html 页面发送,否则我认为你将无法正确输出该字符):
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
关于python - Django:非ASCII字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4635188/