導航:首頁 > 程序命令 > 修改命令行編碼

修改命令行編碼

發布時間:2024-09-08 22:33:46

python命令行輸入中文亂碼怎麼辦

python2.X,代碼中指定了UTF-8,但是在cmd命令行窗口時,列印的中文仍然會亂碼。

在python3不存在該問題

運行結果:

原因

中文windows默認的輸出編碼為gbk ,與腳本中定義的UTF-8不一樣,所以出現了解碼失敗的情況。

相關推薦:《Python基礎教程》

解決方法

有如下兩種方法可以解決這個問題

方法一

我們可以通過先把中文解碼為unicode,然後再轉化為gbk來解決這個問題:

修改後運行結果:

方法二

當然,我們也可以通過改變cmd命令行窗口的輸出格式來解決這個問題:

·chcp 65001 就是換成UTF-8代碼頁

·chcp 936 可以換回默認的GBK

但是這樣就降低了腳本的兼容性,在其他環境運行的時候可能還會出現這樣的錯誤,而且可能會影響其他腳本運行,所以推薦使用第一種方法。

⑵ 命令行下中文顯示亂碼,怎麼解決

cmd命令行窗口顯示中文亂碼,多是因為cmd命令行窗口字元編碼不匹配導致。

修改cmd窗口字元編碼為UTF-8,命令行中執行:chcp 65001
切換回中文:chcp 936
這兩條命令只在當前窗口生效,重啟後恢復之前的編碼。

切換cmd窗口字元編碼有風險,例如切換過以後中文顯示亂碼,並且不能永久切換回原來模式,只能每次chcp 936。

cmd中文顯示亂碼永久解決方案,以切換回中文936為例:

打開不正常的 CMD命令提示符窗口後,單擊窗口左上角的圖標,選擇彈出的菜單中的「默認值」,切換到第一個「選項」tab,將默認的代碼頁改為 936 後重啟 CMD。重啟cmd後還不能正常顯示請繼續往下看。

如果重啟 CMD以後無法生效:窗口的「默認值」和「屬性」沒變,則進入注冊表,在 HKEY_CURRENT_USER\Console下找到%SystemRoot%_system32_cmd.exe(如果沒有codepage就不考慮了),codepage值改為 936(十進制)或 3a8(十六進制)。
936(十進制)是簡體中文的,如是其它語言,則改為對應的代碼。

部分字元編碼對應代碼:
65001——UTF-8
936——簡體中文
950——繁體中文
437——美國/加拿大英語
932——日文
949——韓文
866——俄文

最後一個亂碼原因:CMD 的「默認值」或「屬性」窗口的「字體」選項卡中設定為可以顯示中文字元的字體,並且確定字體文件沒有被破壞,字體最好設置為默認的點陣字體。

閱讀全文

與修改命令行編碼相關的資料

熱點內容
pythoncookbook27 瀏覽:516
c的指針和python 瀏覽:186
python寫sftp 瀏覽:957
讀文pdf 瀏覽:507
pythonnumpy內積 瀏覽:782
linux硬碟模式 瀏覽:15
怎麼查安卓的空間 瀏覽:589
linux命令復制命令 瀏覽:115
勞動法裡面有沒有帶工資演算法的 瀏覽:456
如何在u盤里拷解壓軟體 瀏覽:689
oracle資料庫登陸命令 瀏覽:614
python自動化運維之路 瀏覽:400
eclipsejava教程下載 瀏覽:987
tita搜索app怎麼配置 瀏覽:263
oracle的連接命令 瀏覽:1002
基於單片機的恆溫水壺 瀏覽:884
鴻蒙系統文件夾怎麼換背景 瀏覽:296
b站動畫演算法 瀏覽:712
程序員每月還房貸 瀏覽:355
cad牆閉合命令 瀏覽:169