Не удается декодировать / кодировать в UTF-8 - PullRequest
1 голос
/ 06 января 2010

У меня есть текстовое поле, которое позволяет пользователям вводить слово.

The user enters: über

В бэкэнде я получаю следующее слово:

def form_process(request):
    word = request.GET.get('the_word')
    word = word.encode('utf-8')
    #word = word.decode('utf-8')
    print word

По какой-то причине я не могу декодировать или кодировать это !! Это дает мне ошибку:

 UnicodeEncodeError
 ('ascii', u'\ufffd', 0, 1, 'ordinal not in range(128)')

Редактировать: Когда я делаю "repr (слово)", это то, что я получаю:

u'\ufffd'

Ответы [ 3 ]

1 голос
/ 06 января 2010

Решено!

У меня был escape (слово) ... в JavaScript ... до того, как я передал его на сервер.

1 голос
/ 06 января 2010

Вы не забыли поставить:

accept-charset="utf-8"

в форме тега?

РЕДАКТИРОВАТЬ: DEFAULT_CHARSET в settings.py установлен в 'utf-8'?

0 голосов
/ 06 января 2010

Есть ли причина использовать печатное слово? Если нет, он должен работать без этих строк.

def form_process(request):
    word = request.GET.get('the_word')
...