2

我的 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'])

如果我使用拉丁符号 - 我会得到正确的结果,但是一旦我尝试搜索俄语单词,我就会失败。例如,我输入 word для(在我的文章中到处都是),但没有得到任何结果。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)

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

4

1 回答 1

1

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

于 2012-12-24T12:09:04.483 回答