Django: UnicodeEncodeError при попытке сохранить не-ascii текст - PullRequest
0 голосов
/ 29 декабря 2010

Я пытаюсь сохранить новую запись с текстом Unicode в одном из полей.

Сохранение текста в Юникоде успешно при использовании страницы администрирования django, но при использовании оболочки django происходит сбой с:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 15: ordinal not in range(128)

Есть идеи что не так и как это исправить? Спасибо!

Ответы [ 2 ]

2 голосов
/ 29 декабря 2010

эти удобные встроенные функции преобразования django часто помогают мне.Я использую их для создания PDF-файлов со специальными символами.

функции преобразования утилит

для сохранения текста не-ascii в вашей модели:

from django.utils.encoding import smart_unicode

mymodel.my_field = smart_unicode(myform.cleaned_data["my_non_ascii_text"])
mymodel.save()
1 голос
/ 29 декабря 2010

Попробуйте поставить u перед строкой, с которой вы работаете.

print "ЙЦУКЕН"; #error!
print u"ЙЦУКЕН"; #success!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...