【问题标题】:Send mail with Python App Engine turns norwegian characters into <?>使用 Python App Engine 发送邮件将挪威字符变成 <?>
【发布时间】:2013-10-06 16:55:22
【问题描述】:

我正在使用

从 google.appengine.api 导入邮件

在运行 python 的应用引擎上发送电子邮件。当我检查发送的邮件时,它无法处理挪威字符 åæø。在gmail中阅读邮件时,所有åæø字符都会变成。

下面是调用的邮件发送方法(删除了部分内容)。

mail.send_mail(sender="ExphilApp <xxxxx@gmail.com>",
                  to=email,
                  subject="Velkommen til ExPhil-appen",
                  body="""
    Hei {0}!
Takk for at du registerte deg til ExPhil-appen. Ditt brukernavn er {1}. 
For mer info, se www.exphilapp.no

    Hilsen Håkon

    """.format(name,username))

文件编码为:

# -*- coding: latin-1 -*-

这里的特殊情况是我使用三重“””引号来构造字符串以及 .format 来插入用户名和用户名。如何使字符串与挪威字符 åæø 一起使用?

【问题讨论】:

    标签: python google-app-engine email


    【解决方案1】:

    尝试启用 unicode 文字来表示挪威字符:

    from __future__ import unicode_literals
    

    顺便说一句,您似乎遇到了known bug

    【讨论】:

    • 在该错误上出现此错误:第 286 行,在 get """".format(name,username).encode("utf-8")) UnicodeDecodeError: 'ascii' codec无法解码位置 33 中的字节 0xe5:序数不在范围内(128)
    【解决方案2】:

    添加

    from __future__ import unicode_literals
    

    到文件的开头。

    【讨论】:

      猜你喜欢
      • 2012-07-08
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 2014-10-15
      • 2016-12-04
      • 2015-11-12
      相关资源
      最近更新 更多