【问题标题】:Email encoding using Django使用 Django 进行电子邮件编码
【发布时间】:2019-02-01 18:38:24
【问题描述】:

我的 web 应用程序将希伯来语文本存储在 Postgres 数据库中,然后将其作为电子邮件发送。 我可以看到文本很好地存储在数据库中,但是当作为电子邮件发送时,它看起来像乱码:

עו×'ד יקר, זהו ×~ס×~ של ההתר×ות ×”× ×©×œ×—×•×ª בעברית。

我正在使用 urllib 从数据库中取消引用文本

urllib.unquote(text)

和 EmailSender 发送电子邮件:

EmailSender().send_html(
    "my email subject",
    email_content,
    [email],
    headers=headers,
    fail_silently=True
)

是什么原因造成的?

【问题讨论】:

  • 有没有使用 urllib 的特定动机?
  • 您的 Postgres DB 使用的是哪个 encoding

标签: python django encoding html-email


【解决方案1】:

这可能是因为源文本是 UTF-8,而不是 ASCII。

你应该看看Useful utility functions

在那里你会找到smart_text() 方法,我认为通过转换你的email_content 可以解决你的问题。


您也可以使用编码/解码方法。

阅读Standard Encodings 并尝试:

email_content.encode("your_encoding").decode("utf-8")

【讨论】:

    猜你喜欢
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 2013-02-13
    相关资源
    最近更新 更多