Уведомления

Группа в Telegram: @pythonsu

#1 Март 3, 2017 10:44:43

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

Как обычно, на локале все работает, а при переносе на продакшн что-то да сломается
Работавшая на локале строка кода:

 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
Куда еще можно порыть, чтобы понять, в чем же причина?

Офлайн

#2 Март 3, 2017 10:48:24

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

а на сервере кодировка какая ?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Март 3, 2017 10:52:35

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

Кодировка файлов? Если верить file -i, то utf-8.

Офлайн

#4 Март 3, 2017 11:22:41

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

Какой питон?



Офлайн

#5 Март 3, 2017 11:24:42

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

python 2.7 и на локале и на сервере.
django 1.5

Офлайн

#6 Март 3, 2017 11:48:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

Elaphe
python 2.7
Тогда, в начале каждого питоньего файла содержащего юникод вы должны указывать кодировку
 # -*- coding: utf-8 -*-



Офлайн

#7 Март 3, 2017 11:49:07

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

Офлайн

#8 Март 3, 2017 11:59:26

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

В первом сообщении написано, что такая строка присутствует.

Офлайн

#9 Март 10, 2017 11:01:54

Elaphe
Зарегистрирован: 2015-02-04
Сообщения: 125
Репутация: +  5  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

Выяснилось? что tag.tag (это поле модели, тип - CharField) на локале возвращается с типом unicode, а на продакшн - str.
От чего зависит тип данных поля объекта модели, возвращаемый через метод get объекта queryset?

Офлайн

#10 Март 10, 2017 11:28:08

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не пойму, откуда берется UnicodeDecodeError

Elaphe
А вы твердо уверены, что используются одинаковые версии питона?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version