原文**:
亂碼原因:
因為你的檔案宣告為utf-8,並且也應該是用utf-8的編碼儲存的原始檔。但是windows的本地預設編碼是cp936,也就是gbk編碼,所以在控制台直接列印utf-8的字串當然是亂碼了。
解決方法:
在控制台列印的地方用乙個轉碼就ok了,列印的時候這麼寫:
print myname.decode('utf-8').encode('gbk')
比較通用的方法應該是:
import sys
type = sys.getfilesystemencoding()
print myname.decode('utf-8').encode(type)
**)解決unicodedecodeerror: 'ascii' codec can't decode byte 0xe5……..
你需要的是讓編碼用實際編碼而不是 ascii
1.
對需要 str->unicode 的**,可以在前邊寫上
import sys
reload(sys)
sys.setdefaultencoding('utf8')
把 str 編碼由 ascii 改為 utf8 (或 gb18030)
2.
python3 區分了 unicode str 和 byte arrary,並且預設編碼不再是 ascii
python中文亂碼
關於中文亂碼,老夫已經遇到無數次,遍尋良方,也使出無數種招數。總結一下,費話不多說,python中文亂碼的根源只有乙個,字元編碼不統一!import sys reload sys sys.setdefaultencoding utf 8 上述語句編譯器可能會報錯,不影響,意思是2.7的sys原來沒有...
Python 中文亂碼
開始接觸python指令碼,一上來就碰到了中文亂碼問題。字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼 decode 成unicode,再從unicode編碼 encode 成另一種編碼。decode 解碼,作用...
python 中文亂碼問題
python 中文亂碼問題 python 預設編碼和系統編碼有關 linux 下用locale命令可以檢視 加入以下編碼可以將預設編碼設定為utf8 import sys reload sys sys.setdefaultencoding utf 8 處理中文時候,可以用urllib.quote將u...