私は、.csvファイルから受信者に電子メールを送信する小さなPythonプログラムを作成しました。このような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」コーデックは位置9の文字は「\ u010c」をエンコードすることができません:序ない範囲で
メールが送信され、UTF-8としてエンコードしようとしましたしかし、私はこれを得る:
estitamo! ÄÄÅ¡pšžćÄÄ'Å¡Ä「
、私は多くの方法でそれを解読しようとしましたが、私は、適切なクロアチアの手紙C、C、Z、S、のDJ得ることができませんでした。
メールを送信する際に適切なクロアチア文字を使用するにはどうすればよいですか?今私はSと正しいZいる
server.sendmail(fromaddr, email, msg.encode("windows-1250"))
:
EDIT
のような行を変更しました!私が持っている。©のために、私はæを持っているCについては、私がè持っcに対する
、ð
のpython 3を使用して...私はここにUTF8エンコードを使用しているが、この方法は、他のクロアチア語の文字を表現することができエンコードを使用することができ、申し訳ありませんが、 – omicito
を伝えるのを忘れてだからあなたはそうだその後それを抱きましたか? –
čćđまだ必要なので、いいえ – omicito