怎么发送含中文的邮件?send_mail

Zz_心理客 发布于 2013/04/20 16:02
阅读 204
收藏 0

我写了一个表单,提交后能发送邮件通知我,邮件中包含表单内容。

现在问题是,英文和数字显示是正常的。中文显示似乎是某种字符编码。例如“\u54c8\u54c8\u54c8\u54c8

怎样才能显示中文?

加载中
0
Zz_心理客
Zz_心理客

发现是 cleaned_data的问题,它会将所有信息转码。请问该添加哪些代码才能再转回来?

def reserve(request):
	if request.method == 'POST':
		form = ReserveForm(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			send_mail(
				'一个新预约',
				cd,
				'@mail.com'
				['@mail.com'],)

0
cpk154505
cpk154505

from email.mime.text import MIMEText 

MIMEText(res, _subtype='plain', _charset='gbk') 

用这个模块MIMEText,注意编码格式,脚本的编码格式必须先转成decode,再encode

Zz_心理客
Zz_心理客
请问如何encode和decode呢? 我发现在cleaned_data后就变成乱码了,所以大概是在之后要encode吧?这时 cd=cd.encode('utf-8'),但是出错了,“'dict' object has no attribute 'decode'”、、、这怎么解决呢?
返回顶部
顶部