當前位置:成語大全網 - 新華字典 - python print中文亂碼問題 win10 Python2

python print中文亂碼問題 win10 Python2

因為windows默認的編碼方式是GBK,python文件保存時使用了utf-8,在讀取時,python使用GBK的編碼表去解utf-8編碼的字節碼,因為GBK與UTF-8編碼不兼容,自然出現了亂碼問題

解決方法:

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保存文件