admin@demi4.com

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 18801-18807: ordinal not in range(128)

UnicodeEncodeError: 'ascii' codec can't encode characters in position 18801-18807: ordinal not in range(128)

Второй раз в жизни столкнулся с сайтом написанным на python+django. Уже после первого опыта работы с этой связкой у меня осталось резко-негативное мнение о сайтах написанных при помощи этого инструментария, второй раз не стал исключением (((

Перенос делал и ОС Ubuntu 12.04 на Debian 7. Обе ОС были 64bit архитектуры. Разница была только в ОС и все, остальное переносилось 1в1 – пути, ставил версии библиотек для python, молчу о том что pip freeze выдавал список модулей которые потом долго и нудно искались, так как по неизвестным мне причинам в стандартных репах и гитах не находились.

В итоге модули были установлены, скрипты перенесены, настройки прописаны, сервисы запущены, прописываю домен в hosts и вижу там ошибку “UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 18801-18807: ordinal not in range(128)” несколько дней было убито на поиск причины, так как код на старом сервере работал, а на новом нет, при том что версии интерпритатора языка, фреймворка и модулей были одинаковыми, грешил только на систему – но где именно ? Локали были приведены в общее состояние, конфиги идентичные, настройки одинаковые. Поиск в интернете результата не дал – все что рекомендовали прописать или изменить по настройкам – не помогло вообще. В итоге после убитых безрезультатно нескольких дней решил написать знакомому программисту, в итоге (Vim с меня пиво) он решил проблему примерно за 2 минуты ! решение банальное и просто он прописал принудительную кодировку в sitecustomize.py

Он просто добавил в начало файла две строки:

import sys
sys.setdefaultencoding(‘utf-8’)

передернул uwsgi и проект стартанул работать как и на старом сервере.

Наверное это выше моего понимания когда разработчики делают через выхлопную ремонт двигателя, или не учитывают обратную совместимость и прочие гадости приводящие к танцам с бубном долгое время – что бы “оно заработало”.

В любом случае моя проблема была решена, Сане отдельное спасибо :).

1 голос

Залишити відповідь

Увійти через: 

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Related Post

Install Redis an Debian 8

Установка Redis на Debian 8Установка Redis на Debian 8

Заметка о том как поставить свежий Redis на сервер Debian 8. В стандартном комплекте в репах Debian идет  redis-server Version: 2:2.8.17-1+deb8u3 (на момент написания статьи) 3 голоса Схожі записи: Debian

openvpn centos

Установка OpenVPN Centos 6Установка OpenVPN Centos 6

Часто приходится ставить VPN на базе OpenVPN, в целом отличия между Centos, Debian не вижу, все +- одинаковое. Я всегда ставлю на Centos. Начнем…. 2 голоса Схожі записи: Vpn_Vpn_SSh-world MULTI:

logger: command not found

logger: command not foundlogger: command not found

При устрановке mysql-server на Debian через aptitude выдавало такую ошибку, не мог долго понять чего ему надо. 0 голосов Схожі записи: bash: phpize: command not found Query (7f0ae0004ba0): is an