當前位置:首頁 » 編程語言 » python郵件亂碼問題

python郵件亂碼問題

發布時間: 2022-07-20 07:36:08

『壹』 python中文亂碼解決

windows下的文件路徑,cmd窗口等默認編碼都是gbk
但在windows下編寫python程序的時候,我們一般採用的編碼是utf-8
二者不一致是導致亂碼的根本原因!
在pycharm下,為了中文不亂碼,那麼需要注意一下幾個方面:
一、每一個源程序文件頭部,需要加上
#-*-coding:utf-8;-*-
這樣就沒有亂碼了

『貳』 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()

『叄』 Python中中文亂碼問題

a ='哈哈'
b = a.encode('utf-8')
以上你的代碼是UTF8編碼吧,a本來就是UTF8編碼,你在給它編碼幹嘛,encode是編碼,decode是解碼,你不報錯沒天理。

a = u'哈哈'
b = a.encode('utf-8')
a是U編碼類型也就是你上一個沒加U的哈哈的解碼,它肯定不會保存!

『肆』 用Python發郵件的時候,附件文件名如果是中文,接受到的總是亂碼,如何解決謝大神解答!

'attachment; filename="中文.txt"'.decode('utf-8')

在每個python 的中文字元後面加.decode('utf-8')看看?

『伍』 python 中文亂碼問題

記事本是用utf-8保存你下載了東西的。你下載下來的不是utf-8,保存下來中文當然就亂碼了。而gbk和utf-8里英文的編碼值都一樣,所以不受影響。

一個方法是你留意下目標頁面的charset 和 contentType,另一個方法是你復制一個目標頁面的字,放cmd里看它的編碼長度,以此來判斷它的原來編碼。

『陸』 Python為什麼一運行就是亂碼

可能是編碼問題,開頭加上coding:utf-8試試。

『柒』 python異常亂碼如何解決

如果頁面是GB18030編碼,而資料庫是GBK編碼,一般來說是不用轉換的。GB18030是GBK的超級。GB18030本身兼容GBK,而GB18030中的部分字元GBK中是沒有的。將GB18030字元寫入GBK的資料庫,只會丟失部分字元而已。一般網頁上不會出現罕見的字元,所以這種情況是無需處理的。


所以,請仔細核對頁面和資料庫的編碼。


即使你提供的頁面、資料庫編碼是正確的,而且一定要轉換,也應該這樣做:

s='GB18030字元串'
s=s.decode('GB18030')#轉化為unicode
s=s.encode('GBK')#轉化為GBK

『捌』 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)#……
來吧,可勁地折騰吧。

『玖』 python 亂碼問題

解決方法:
1.直接使用 u'是' 形式,指明以unicode編碼,解碼方式會以頂部 #coding定義的編碼方式,如果不寫,以操作系統當前編碼方法,建議寫上#coding,因為要讓操作系統編碼和源文件編碼經常會不一樣。推薦使用這種方式
2.輸出時指定解碼方法 print '是'.decode("utf8") ,必須和保存的編碼一致,忽略#coding的定義
3.將#coding 和保存編碼改為和操作系統一樣的編碼,就可以直接print '是' 正常輸出,也不推薦,因為需要事先知道操作系統編碼,復制到其他電腦上,操作系統編碼不一樣就會出錯
#coding=gbk
print u'是' #方法1
print '是'.decode("gbk") #方法2
print '是' #方法3

注意:
#coding指明的編碼必須和保存的編碼一樣,不然1,3方法都會產生錯誤,原因也是保存編碼和讀取編碼不一致。一般IDE能夠自動根據#coding保存文件

『拾』 python 收取郵件都是亂碼。

一般郵件在傳輸的時候都會被編碼,圖中的是base64編碼的特徵,這類編碼是可逆的,只需要進行base64解碼即可,python有個base64模塊,可以用來編碼和解碼。

熱點內容
iisftp被動模式 發布:2025-02-01 04:41:50 瀏覽:350
車載安卓怎麼安裝軟體 發布:2025-02-01 04:30:50 瀏覽:469
安卓系統su程序是什麼 發布:2025-02-01 04:25:42 瀏覽:475
android代碼行數統計 發布:2025-02-01 04:20:47 瀏覽:216
快速喊話腳本 發布:2025-02-01 04:16:48 瀏覽:885
如何分辨普拉多的配置 發布:2025-02-01 04:11:45 瀏覽:681
linuxc文件刪除 發布:2025-02-01 04:11:33 瀏覽:218
c語言稀疏矩陣轉置矩陣 發布:2025-02-01 03:47:57 瀏覽:531
坦克世界掛機腳本有哪些 發布:2025-02-01 03:07:41 瀏覽:134
串口編程at 發布:2025-02-01 03:06:05 瀏覽:909