python - Django:非ASCII字符

标签 python django unicode utf-8

我的 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/

相关文章:

c - SHELLEXECUTEINFO UNICODE 支持吗?

powershell - Invoke-Command 更改输出编码

Python 请求 POST 执行 GET?

python - 如何在python中组合字典

xml - XML 名称中是否允许增补字符?

python - Pandas read_csv() : keep 0 as 0 (not convert it to NaN)

python - 在 Windows 上的 Python 3.5 上安装 Django-channels 时出错

python - SQL 中的动态列格式 - 以及存储格式的后端

python - PyQT 中心工具栏按钮

Python 3 : in a text file, 获取字符串在其出现的 y 行中出现的 x 次