我寫了一個小的Python程序,在該程序中,我發送電子郵件給.csv文件中的接收者。Python 3中的克羅地亞字符
import csv
import smtplib
f = open('output.csv')
csv_f = csv.reader(f)
email=[]
for row in csv_f:
if row:
email.append(row[2])
fromaddr = MY MAIL
toaddrs = email
subject = 'Čestitamo!'
text = 'ččšpšžćčđšđ'
msg = 'Subject: %s\n\n%s' % (subject, text)
username = MY_USER
password = MY_PASS
try:
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, email, msg)
server.quit()
print('Mail sent!')
except Exception as e:
print("ERROR!")
print(e)
計劃這樣給出錯誤:「ASCII」編解碼器不能編碼字符「\ u010c」在位置9:在範圍序數不
試圖以編碼爲UTF-8,所述郵件發送,但我得到這個:
Äestitamo! ÄäÅ«pÅ»ÅÄÄÄÄÄÄÄÄÅÅÅ''
然後我嘗試在很多方面解碼,但我無法得到正確的克羅地亞字母č,ć,ž,š,đ。
我應該怎麼做才能發送正確的克羅地亞信件?
編輯
改了行:
server.sendmail(fromaddr, email, msg.encode("windows-1250"))
現在我已經和zS正確的!
對於C我有è,對於C我有℃,爲DJ我有d
使用Python 3,對不起,忘了告訴 – omicito
所以你有這樣的然後呢? –
čćđ仍然需要,所以沒有 – omicito