Найти - Пользователи
Полная версия: ошибка с кодировкой
Начало » Django » ошибка с кодировкой
1
dvina
После перемещения сайта на боевой сервер (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'), то ошибка пропадает.
В чем тут может быть дело? Я грешу на настройки сервера, т.к. он расположен заграницей и на русский язык может быть и не настроен.
inoks
я стараюсь придерживаться правил:

1) все .py файлы в utf-8
2) # -*- coding:utf-8 -*- в начале каждого файла, в котором используется кирилица (лучше во всех файлах)
3) вместо a = ‘sss’ использовать везде a = u'sss'
JOHN_16
dvina
смотрите что бы HTML шаблоны тоже были в той кодировке, что вы используете в проекте (разумеется лучше что бы это было UTF8)
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