我编写了一段代码来连接imap,然后解析主体信息并插入数据库。但我的口音有点问题。在
从邮件标题我得到了以下信息:
Content-Type: text/html; charset=ISO-8859-1
但是,我不确定我是否能相信这些信息。。。在
邮件是用葡萄牙语写的,所以我们有很多带有口音的单词。例如,我从电子邮件源代码中提取以下短语(使用我的浏览器):
"...instalação de eletrônicos..."
所以,我连接了imap并收到了一些电子邮件:
... typ, data = M.fetch(num, '(RFC822)') ...
当我打印内容时,我得到以下单词:
print data[0][1]
instala+º+úo de eletr+¦nicos
我试图使用.decode('utf-8')
,但没有成功。在
instalação de eletrônicos
我怎样才能使它成为人类可读的?我的数据库是utf-8。在
指定源代码编码对我很有用。这是我下面示例代码顶部的代码。这应该在python文件的顶部定义。在
现在您也可以毫无例外地执行str(value)。在
参见:http://docs.python.org/2/library/unicodedata.html
这似乎保留了所有的口音:
^{pr2}$编辑:
请注意,对于上一个版本,即使结果看起来相同,它也不会返回equal is True。例如:
编辑2:
这将返回相同的:
虽然我不确定这是否对utf-8编码的数据库有效。可能不会吧?在
标题显示它使用的是“ISO-8859-1”字符集。所以你需要用这个编码来解码字符串。在
试试这个:
谢谢你的马蒂恩·皮特斯。我们发现电子邮件有两种不同的编码。我不得不把这部分分开单独治疗。在
相关问题 更多 >
编程相关推荐