Уведомления

Группа в Telegram: @pythonsu

#1 Июль 14, 2013 17:25:51

dvina
Зарегистрирован: 2012-05-07
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

ошибка с кодировкой

После перемещения сайта на боевой сервер (Apache/2.2.22, Debian) на некоторых станицах стала появляться ошибка DjangoUnicodeDecodeError ‘ascii’ codec can't decode byte 0xd0 in position 0: ordinal not in range(128). На development-сервере ошибок нет. База Mysql, всюду кодировка UTF-8. Если в функцию, которая вызывает ошибку явно прописать перекодировку того, что она возвращает, то есть .decode('utf8'), то ошибка пропадает.
В чем тут может быть дело? Я грешу на настройки сервера, т.к. он расположен заграницей и на русский язык может быть и не настроен.

Офлайн

#2 Авг. 7, 2013 16:55:10

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

ошибка с кодировкой

я стараюсь придерживаться правил:

1) все .py файлы в utf-8
2) # -*- coding:utf-8 -*- в начале каждого файла, в котором используется кирилица (лучше во всех файлах)
3) вместо a = ‘sss’ использовать везде a = u'sss'

Офлайн

#3 Авг. 7, 2013 23:40:16

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

ошибка с кодировкой

dvina
смотрите что бы HTML шаблоны тоже были в той кодировке, что вы используете в проекте (разумеется лучше что бы это было UTF8)



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

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version