Windows環境下Python v2.7.9,NotePad++編寫程式中涉及中文,執行時CMD中顯示亂碼的解決辦法

來源:互聯網
上載者:User

標籤:windows環境下python v2.7.9   notepad++編寫程式中涉及中文   執行時cmd中顯示亂碼的解決辦法   

Windows環境下Python v2.7.9,NotePad++編寫程式中涉及中文,執行時CMD中顯示亂碼的解決辦法

 

例如:

1.使用NotePad++,以預設的“以 UTF-8無 BOM 格式編碼”編寫:

print "一加一等於二"

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6E/AE/wKiom1WCbD_TKYcjAALnybRC8JI793.jpg" title="1.png" alt="wKiom1WCbD_TKYcjAALnybRC8JI793.jpg" />

 

直接運行後CMD報錯:

 650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/AA/wKioL1WCbfvSJZIQAAFePCxiZi4179.jpg" title="2.png" alt="wKioL1WCbfvSJZIQAAFePCxiZi4179.jpg" />

但是在IDLE中顯示正常:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6E/AE/wKiom1WCbFmBfIS4AAEQrgPI0OM924.jpg" title="3.png" alt="wKiom1WCbFmBfIS4AAEQrgPI0OM924.jpg" />

 

在檔案第一行加入注釋:

# _*_coding:utf-8_*_

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6E/AE/wKiom1WCbGKwUFouAACwvVR-yNU953.jpg" title="4.png" alt="wKiom1WCbGKwUFouAACwvVR-yNU953.jpg" />

 

運行後CMD顯示亂碼,IDLE依然正常:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6E/AA/wKioL1WCbh2yrYjiAAA3QTkD2IY116.jpg" title="5.png" alt="wKioL1WCbh2yrYjiAAA3QTkD2IY116.jpg" />

 

在字串前加u(Unicode編碼):

# _*_coding:utf-8_*_print u"一加一等於二"

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/AA/wKioL1WCbinztT-uAACnrBzQfzY696.jpg" title="6.png" alt="wKioL1WCbinztT-uAACnrBzQfzY696.jpg" />

 

運行後正常,IDLE依然正常:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6E/AA/wKioL1WCbjWwp1SFAAArGa2XrXk726.jpg" title="7.png" alt="wKioL1WCbjWwp1SFAAArGa2XrXk726.jpg" />

 

2. 使用NotePad++,以“以 ANSI 格式編碼”編寫:

# _*_coding:utf-8_*_print u"一加一等於二"

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/AE/wKiom1WCbLCT_XMbAALxHddSljQ286.jpg" title="以 ANSI 格式編碼.png" alt="wKiom1WCbLCT_XMbAALxHddSljQ286.jpg" />

 

運行後報錯:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6E/AE/wKiom1WCbMeSJdWRAACtUCVGpL0128.jpg" title="9.png" alt="wKiom1WCbMeSJdWRAACtUCVGpL0128.jpg" />

 

去掉字串前的u(Unicode編碼):

# _*_coding:utf-8_*_print "一加一等於二"

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6E/AE/wKiom1WCbNbBv0CFAACvl2LQ0k4205.jpg" title="10.png" alt="wKiom1WCbNbBv0CFAACvl2LQ0k4205.jpg" />

運行後正常:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/AA/wKioL1WCbpCxkJrjAAAz5hEI_BA781.jpg" title="11.png" alt="wKioL1WCbpCxkJrjAAAz5hEI_BA781.jpg" />

 

原因:

Windows的命令提示字元CMD和WindowsPowerShell預設編碼是ANSI,導致對UTF-8編碼不能正常顯示

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/AE/wKiom1WCbO6Cx_9JAAE-OGVwoXU773.jpg" style="float:none;" title="12.png" alt="wKiom1WCbO6Cx_9JAAE-OGVwoXU773.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6E/AA/wKioL1WCbp_T8A-sAAEodn0ZttM369.jpg" style="float:none;" title="13.png" alt="wKioL1WCbp_T8A-sAAEodn0ZttM369.jpg" />


 

網上有種方法使用chcp 65001命令將CMD的預設編碼頁設定為UTF-8650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6E/AA/wKioL1WCbrWSiy8CAABLyD4YZGk502.jpg" title="14.png" alt="wKioL1WCbrWSiy8CAABLyD4YZGk502.jpg" />

 

經測試回合Python任然有問題。

直接運行Python程式亂碼

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/AA/wKioL1WCbr2S4jfYAABY30UF0w8348.jpg" title="15.png" alt="wKioL1WCbr2S4jfYAABY30UF0w8348.jpg" />

 

取消# _*_coding:utf-8_*_後報錯:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/AE/wKiom1WCbRfTGOT-AACTOK-2Azg932.jpg" title="16.png" alt="wKiom1WCbRfTGOT-AACTOK-2Azg932.jpg" />

 

在字串前加u(Unicode編碼),依然報錯:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6E/AE/wKiom1WCbSDxEJgyAACxLFQJMqE024.jpg" title="17.png" alt="wKiom1WCbSDxEJgyAACxLFQJMqE024.jpg" />

 

還原CMD預設設定,註冊版中刪除HKEY_CURRENT_USER\Console 項即可。


本文出自 “Hello3389的部落格” 部落格,請務必保留此出處http://hello3389.blog.51cto.com/1171990/1663154

Windows環境下Python v2.7.9,NotePad++編寫程式中涉及中文,執行時CMD中顯示亂碼的解決辦法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.