Python Email應用的中文亂碼問題解決方法

2021-05-22 21:09:48 字數 1453 閱讀 4174

或者是對python的unicode理解得不透徹,時常遇到各種各樣的中文亂碼問題,今天,在email應用中,中文亂碼又出來搗亂了,經過一段時間的誤打誤撞,搞出了乙個解決方法:

# -*- coding: utf-8 -*-

'''created on 2010-6-21

@author: administrator

'''import email

from email.mimetext import mimetext

from email.mimemultipart import mimemultipart

from email.mimebase import mimebase

from email import encoders

import smtplib

import mimetypes

from_addr = '[email protected]'

to_addr = '[email protected]'

subject_header = 'subject: 巡檢報告'

attachment = u'e:/python/資料庫巡檢記錄表.xls' #檔案訪問時候要求u,否則不能通過

body = '''巡檢報告'''

m = mimemultipart()

m["to"] = to_addr

m["from"] = from_addr

m["subject"] = subject_header

ctype, encoding = mimetypes.guess_type(attachment)

print ctype, encoding

maintype, subtype = ctype.split('/', 1)

print maintype, subtype

m.attach(mimetext(body, 'plain', 'utf-8')) #明確body的編碼是utf-8

fp = open(attachment, 'rb')

msg = mimebase(maintype, subtype)

msg.set_payload(fp.read())

fp.close()

encoders.encode_base64(msg)

msg.add_header("content-disposition", "attachment", filename='巡檢報告.xls')

#encoders.encode_base64(msg) #將http頭資訊再進行一次編碼,否則附件的中文名不能用

#上面一句有誤

m.attach(msg)

s = smtplib.smtp('mail.123.com')

s.set_debuglevel(1)

s.sendmail(from_addr, to_addr, m.as_string())

s.quit()

ASP應用中的應用函式

經常寫些系統,那麼一般都是從登入程式開始,每接乙個系統就寫一次登入,好麻煩。乾脆直接做個登入驗證函式吧,對我來說,大都情況可以勝任了 function chk regist requestname,requestpwd,tablename,namefield,pwdfield,reurl dim n...

C 中 的應用

的應用主要有以下3種 1 按位與 3 引用操作 1 按位與 都是1才為1,否則為0 與1相與數值不變,0相與數值變為0 2 按位或 都是0才為0,否則為1 與0相或數值不變,與1相或數值變1 3 按位異或 相同為0,不同為1 與0異或數值不變,與1異或數值相反 4 按位取反 eg 1 1111 11...

jsp中的應用

在jsp頁面回顯資料時,經常需要用到 一般用於遍歷回顯集合中的多條資料,但是它的用法有點複雜,所以在這裡總結一下。1.現有許多書籍資訊的集合list存入session,list內容如下 book類屬性 bookid,bookname,bookprice,bookauthor,bookintroduc...