python邮件乱码
1. python 发邮件乱码的几种解决方法
打开python的Lib文件夹下的mimetypes.py文件,找到大概256行的
‘default_encoding=sys.getdefaultencoding()’。
在这行前面添加三行,并且注释4行代码
#try:
#ctype=ctype.encode(default_encoding)#omitin3.x!
#exceptUnicodeEncodeError:
#pass
else:
yieldctype
i+=1
ifsys.getdefaultencoding()!='gbk':
reload(sys)
sys.setdefaultencoding('gbk')
default_encoding=sys.getdefaultencoding()
2. Python中中文乱码问题
a ='哈哈'
b = a.encode('utf-8')
以上你的代码是UTF8编码吧,a本来就是UTF8编码,你在给它编码干嘛,encode是编码,decode是解码,你不报错没天理。
a = u'哈哈'
b = a.encode('utf-8')
a是U编码类型也就是你上一个没加U的哈哈的解码,它肯定不会保存!
3. python发送邮件,网页接收正常,Foxmail附件乱码
应该是编码的问题……说不定发送英文或者数字的能够正常呢?
好吧,其实我也不太清楚
不过我关注的不是这个,而是放在文件夹下的方法太蛋疼了。
弄个拖动的吧,这样就可以放在%userprofile%\AppData\Roaming\Microsoft\Windows\SendTo文件夹下,直接“发送到”了,getfile用于接收文件路径。
try:
#得到拖动的文件路径
getfile = sys.argv[1]except Exception, e:
#用正常方式打开
getfile = raw_input('输入完整路径获取附件(拖动文件到控制台窗口):')filename = os.path.basename(getfile) #从路径获取文件名
对了,别忘记把.py后缀改成.pyw,消除黑色窗口……
还有弄个
import ctypes#……#结束后弹出提示对话框text = filename + '\n' + 'Successfully sent to ' + msg['to']ctypes.windll.user32.MessageBoxA(0, text, '', 0)#……
来吧,可劲地折腾吧。
4. 执行python脚本出现乱码怎么解决
执行python脚本出现乱码的解决方法:首先把中文解码为unicode,具体方法如:【decode('utf-8')】;然后再转化为gbk即可,具体方法如:【encode('gbk')】。
问题:
代码中指定了UTF-8编码,但是在cmd命令行窗口时打印的中文仍然会乱码。
(推荐教程:Python入门教程)
原因:
windows下中文默认的输出编码为gbk ,与脚本中定义的UTF-8不一样,所以出现了解码失败的情况。
解决方法:
可以先把中文解码为unicode,然后再转化为gbk来解决这个问题。
举例:
运行结果:
5. 怎么解决Python3乱码问题
如果是Python文件用编辑器打开时出现乱码,将编辑器调试成utf-8或者gb2312显示。如果是运行Python文件时显示乱码,则修改Python文件,在文件顶部添加:#
code
=
utf-8
6. python 中文乱码问题
记事本是用utf-8保存你下载了东西的。你下载下来的不是utf-8,保存下来中文当然就乱码了。而gbk和utf-8里英文的编码值都一样,所以不受影响。
一个方法是你留意下目标页面的charset 和 contentType,另一个方法是你复制一个目标页面的字,放cmd里看它的编码长度,以此来判断它的原来编码。
7. 用Python发邮件的时候,附件文件名如果是中文,接受到的总是乱码,如何解决谢大神解答!
'attachment; filename="中文.txt"'.decode('utf-8')
在每个python 的中文字符后面加.decode('utf-8')看看?
8. python异常乱码如何解决
如果页面是GB18030编码,而数据库是GBK编码,一般来说是不用转换的。GB18030是GBK的超级。GB18030本身兼容GBK,而GB18030中的部分字符GBK中是没有的。将GB18030字符写入GBK的数据库,只会丢失部分字符而已。一般网页上不会出现罕见的字符,所以这种情况是无需处理的。
所以,请仔细核对页面和数据库的编码。
即使你提供的页面、数据库编码是正确的,而且一定要转换,也应该这样做:
s='GB18030字符串'
s=s.decode('GB18030')#转化为unicode
s=s.encode('GBK')#转化为GBK
9. python 收取邮件都是乱码。
一般邮件在传输的时候都会被编码,图中的是base64编码的特征,这类编码是可逆的,只需要进行base64解码即可,python有个base64模块,可以用来编码和解码。
10. python 乱码的问题
html = a.read()
这一步之后应当解码一下
这样就不会有乱码了,解码的编码要看网页源码中指定的编码