Windows環(huán)境下Python v2.7.9,NotePad++編寫(xiě)程序中涉及中文瘫里,執(zhí)行時(shí)CMD中顯示亂碼的解決辦法
例如:
1.使用NotePad++实蔽,以默認(rèn)的“以UTF-8無(wú)BOM格式編碼”編寫(xiě):
print?"一加一等于二"
直接運(yùn)行后CMD報(bào)錯(cuò):
但是在IDLE中顯示正常:
在文件第一行加入注釋:
#?_*_coding:utf-8_*_
運(yùn)行后CMD顯示亂碼,IDLE依然正常:
在字符串前加u(Unicode編碼):
#?_*_coding:utf-8_*_
print?u"一加一等于二"
運(yùn)行后正常谨读,IDLE依然正常:
2.使用NotePad++局装,以“以ANSI格式編碼”編寫(xiě):
#?_*_coding:utf-8_*_
print?u"一加一等于二"
運(yùn)行后報(bào)錯(cuò):
去掉字符串前的u(Unicode編碼):
#?_*_coding:utf-8_*_
print?"一加一等于二"
運(yùn)行后正常:
原因:
Windows的命令提示符CMD和WindowsPowerShell默認(rèn)編碼是ANSI,導(dǎo)致對(duì)UTF-8編碼不能正常顯示
網(wǎng)上有種方法使用chcp 65001命令將CMD的默認(rèn)編碼頁(yè)設(shè)置為UTF-8
經(jīng)測(cè)試運(yùn)行Python任然有問(wèn)題劳殖。
直接運(yùn)行Python程序亂碼
取消# _*_coding:utf-8_*_后報(bào)錯(cuò):
在字符串前加u(Unicode編碼)铐尚,依然報(bào)錯(cuò):
還原CMD默認(rèn)設(shè)置,注冊(cè)版中刪除HKEY_CURRENT_USER\Console項(xiàng)即可哆姻。