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 голос

Leave a Reply

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

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

Related Post

Автоматическое удаление старых файлов сессий в PHP

Автоматическое удаление сессий php с сервера.Автоматическое удаление сессий php с сервера.

Вообще данная настройка идет из коробки, мне не понятно для чего ее выключать, но на всякий случай добавлю заметку что бы не забывать 0 голосов Схожі записи: Invalid command ‘Header’,

Не працює slow_query_log - пише багато записів

Не працює slow_query_log – пише багато запитівНе працює slow_query_log – пише багато запитів

Побачив що у клієнта багато записів у логах повільних запитів, цікаво було те, що: 1 голос Схожі записи: nginx and x-forwarded-for multiple ip addresses Restore admin access to OpenFire /

Restore ElasticSearch backup from S3Restore ElasticSearch backup from S3

Для відновлення бекапу ElasticSearch з S3 бакету на будь якому сервері спочатку потрібно 1 голос Схожі записи: Backup Elasticsearch to AWS S3 Cluster health status changed from [RED] to [YELLOW]