Форум сайта python.su
0
Добрый день.
Столкнулся со следующей проблемой и не могу понять почему так происходит. Скрипт забирает из БД данные и пересылает их по почте. Если скрипт запускается с машины с Windows 7 то на почту приходит совершенно корректное читаемое письмо, если скрипт запускается с Windows Server 2008 то на почту приходит письмо с кракозябрами - и кракозябры в кодировке CP-1252. В таком случае приходится принудительно делать преобразование - encode('1252').decode('1251') и тогда все корректно.
Помогите понять в чем разница?
Офлайн
294
BigmaxМБ в региональных настройках веды? 1252 латиница, 1251 - кирилица.
Помогите понять в чем разница?
[code python][/code]
Офлайн
0
Почта отправляется из скрипта через smtplib. Честно говоря, вообще непонятно как винда влияет на данные, которые запросом берутся из БД, сохраняются в переменную и передаются в функцию отправки почты. Я пробовал ради интереса менять chcp у винды на сервере, но это конечно ничего не дало.
Офлайн
53
Bigmax
в бд какая кодировка?
Офлайн
0
В БД стандартная виндовая 1251.
Офлайн
0
Сверил региональные настройки на обеих машинах - идентично, разница только в том что Windows 7 на русском языке, а Windows Server 2008 на англ. Но язык системы стоит русский и там и там.
Офлайн
294
там в “язык и региональные стандарты” , вкладка “дополнительно”, секция “язык программ не поддерживающих Юникод” у вас на сервере скорее всего английский, попробуйте поменчять на Русский.
BigmaxЭто как? язык интерфейса чтоли? тогда как вы определили что 2008 английская? или раскладка клавиатуры?
Windows 7 на русском языке, а Windows Server 2008 на англ. Но язык системы стоит русский и там и там.
[code python][/code]
Отредактировано PEHDOM (Июнь 23, 2017 00:52:31)
Офлайн
0
PEHDOMДа, язык интерфейса не серваке англ. Не думаю что это должно повлиять
Это как? язык интерфейса чтоли? тогда как вы определили что 2008 английская? или раскладка клавиатуры?

Офлайн
0
PEHDOMТам стоял Russian(Russia)
там в “язык и региональные стандарты” , вкладка “дополнительно”, секция “язык программ не поддерживающих Юникод” у вас на сервере скорее всего английский, попробуйте поменчять на Русский.
Офлайн