Найти - Пользователи
Полная версия: Не пойму, откуда берется UnicodeDecodeError
Начало » Django » Не пойму, откуда берется UnicodeDecodeError
1 2
Elaphe
Как обычно, на локале все работает, а при переносе на продакшн что-то да сломается
Работавшая на локале строка кода:
 title=u'Записи блога с тегом: %s' % tag.tag
Внезапно начинает выкидывать вот такую дрянь:
UnicodeDecodeError at /blog/tags/zhenschinam/
'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
Файл сохранен в кодировке utf-8, в начале прописана строка # -*- coding: utf-8 -*-, в БД Default collation utf-8
Когда я на сервере в mc их просматриваю, отображается переключение между режимами Hex -> Ascii. Но консоль выводит:
$ file -i views.py
views.py: text/x-python; charset=utf-8
Думаю, что верить надо второму и кодировка у меня все же сохранилась utf
Куда еще можно порыть, чтобы понять, в чем же причина?
JOHN_16
а на сервере кодировка какая ?
Elaphe
Кодировка файлов? Если верить file -i, то utf-8.
FishHook
Какой питон?
Elaphe
python 2.7 и на локале и на сервере.
django 1.5
FishHook
Elaphe
python 2.7
Тогда, в начале каждого питоньего файла содержащего юникод вы должны указывать кодировку
 # -*- coding: utf-8 -*-
FishHook
https://www.python.org/dev/peps/pep-0263/
Elaphe
В первом сообщении написано, что такая строка присутствует.
Elaphe
Выяснилось? что tag.tag (это поле модели, тип - CharField) на локале возвращается с типом unicode, а на продакшн - str.
От чего зависит тип данных поля объекта модели, возвращаемый через метод get объекта queryset?
FishHook
Elaphe
А вы твердо уверены, что используются одинаковые версии питона?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB