提问人:HoliSimo 提问时间:10/11/2023 最后编辑:HoliSimo 更新时间:10/12/2023 访问量:24
Django、Celery 和 SendGrid 的字符编码问题
Character Encoding Issue with Django, Celery, and SendGrid
问:
我一直在使用一个使用 Django 和 Celery 来发送电子邮件的设置,为此我们集成了 SendGrid。但是,我遇到了一个特殊的问题,我希望有人能对此有所了解。
对于某些电子邮件模板,在发送电子邮件时,带有变音符号的字符(特别是“ì”)将显示为另一个字符,在本例中为“ě”。我已经仔细检查并确保所有软件配置都设置为 utf-8 编码,但这种不一致仍然存在。
有没有人遇到过类似的问题,或者对如何调试或修复此问题有任何建议?
例: “Martedě”而不是“Martedì”
Martedě“而不是”Martedì
模板保存在 utf-8 编码的 html 文件中。 这是用于发送电子邮件的代码:
message = render_to_string(
"emails/booking_canceled/cliente_to_client.html",
{
"first_name": booking.customer_first_name,
# ...
},
)
email = EmailMessage(
subject=subject,
body=message,
from_email=DEFAULT_FROM_EMAIL,
to=[booking.customer_email],
headers={"Content-Type": "text/html; charset=UTF-8"},
)
email.content_subtype = "html"
email.send()
logger.info(
"[booking_code: %s][customer_email: %s] Sent.",
booking.code,
booking.customer_email,
)
提前感谢您的任何帮助!
答: 暂无答案
评论