Ошибка в кодировке Python - PullRequest
2 голосов
/ 19 марта 2012

Я отправляю электронное письмо, и для его отправки мне нужно получить три переменные - title, provider и vendor_id.Вот как я это получаю:

# # -*- coding: utf-8 -*-
...
## subject
title = title.encode('utf-8')
subject = "%s - %s"%(provider, title)
msg['Subject'] = subject

## content
body_text = "The following has been successfully delivered:\n\nVendor ID: %s\nProvider: %s\nTitle: %s\n\nThank you."%((vendor_id, provider, title))
content = MIMEText(body_text, 'plain')

Однако, когда я отправляю электронное письмо, тема кодируется правильно (включая заголовок), а body_text - нет (включая заголовок).Вот как это выглядит:

Subject: testmovieprovider - Une soirée d'enfer

Body: The following has been successfully delivered:

Vendor ID: 02352_FR
Provider: testmovieprovider
Title: Une soirée d'enfer   <------ why is this happening?

Thank you.

Почему заголовок в теле не корректно кодируется, и что мне нужно изменить, чтобы он выглядел как первый?

Обновление : Спасибо за отзыв.Вот что сработало:

MIMEText(body_text, 'plain') -> content = MIMEText(body_text, 'plain', 'UTF-8')

1 Ответ

4 голосов
/ 24 марта 2012

Установить кодировку для сообщения:

content = MIMEText(body_text, 'plain', 'utf-8')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...