因為妳的文件聲明為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)