django获取请求 - 从表单中获取俄语符号

时间:2012-12-19 22:29:22

标签: django encoding utf-8 get get-request

我在forms.py中有一个搜索表单:

class search_form(forms.Form):
    text = forms.CharField( widget = 
        forms.TextInput({ "placeholder": "введите слово" }) ) 

我的表单标题是

<form action='/search_results/' method='get'>

然后我从我的基地获得属性

def search_results(request):
    context = {}
    if request.GET:
        form = search_form(request.GET)
        if form.is_valid():
            print form.cleaned_data['text']
            properties = PropertyText.objects.filter(value__icontains = 
                form.cleaned_data['text'])

如果我使用拉丁符号 - 我得到了正确的结果,但是一旦我试图搜索俄语单词,我就失败了。例如,我输入单词для(这些都是我的文章)并且我没有得到任何结果。 print form.cleaned_data['text']会向我返回一些奇怪的符号ÑÑоprint request.GET['text']

也是如此

encode('utf-8')没有结果,decode('utf-8')会抛出异常'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)

我的views.py,forms.py和urls.py以及# -*- coding: utf-8 -*-在我的模板中有<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

1 个答案:

答案 0 :(得分:1)

检查所有模板文件是否以utf-8编码保存;另外,请阅读关于unicode data的django文档。