python輸出的中文亂碼
『壹』 python print中文亂碼問題 win10 Python2
python2字元串編碼的問題,如果要輸出中文可以使用u前綴,這樣就可以直接使用了
a=u'你好'
printa
這樣就可以了
『貳』 python命令行輸入中文亂碼怎麼辦
python2.X,代碼中指定了UTF-8,但是在cmd命令行窗口時,列印的中文仍然會亂碼。
在python3不存在該問題
運行結果:
原因
中文windows默認的輸出編碼為gbk ,與腳本中定義的UTF-8不一樣,所以出現了解碼失敗的情況。
相關推薦:《Python基礎教程》
解決方法
有如下兩種方法可以解決這個問題
方法一
我們可以通過先把中文解碼為unicode,然後再轉化為gbk來解決這個問題:
修改後運行結果:
方法二
當然,我們也可以通過改變cmd命令行窗口的輸出格式來解決這個問題:
·chcp 65001 就是換成UTF-8代碼頁
·chcp 936 可以換回默認的GBK
但是這樣就降低了腳本的兼容性,在其他環境運行的時候可能還會出現這樣的錯誤,而且可能會影響其他腳本運行,所以推薦使用第一種方法。
『叄』 python中文亂碼解決
windows下的文件路徑,cmd窗口等默認編碼都是gbk
但在windows下編寫python程序的時候,我們一般採用的編碼是utf-8
二者不一致是導致亂碼的根本原因!
在pycharm下,為了中文不亂碼,那麼需要注意一下幾個方面:
一、每一個源程序文件頭部,需要加上
#-*-coding:utf-8;-*-
這樣就沒有亂碼了
『肆』 python列印輸出漢字,有一部分出現亂碼怎麼解決
主要「()」不要用中文括弧
冒號不要用中文冒號
引號不要用中文引號
只有要列印的輸入內容可以用中文的。
以上最好檢查一遍,因為我打的時候經常打錯,最好刪了重打,因為兩種括弧太難區分了。
『伍』 python輸出部分亂碼
#-*-coding:UTF-8-*-
importsys
reload(sys)
print(sys.getdefaultencoding())#查看默認編碼,我的是ascii
sys.setdefaultencoding('utf8')
print(sys.getdefaultencoding())#已經轉為utf8了,應該沒問題了
str=input('請輸入:')#如果是python2建議用raw_input()
print'你輸入的內容是:',str
『陸』 python終端輸出亂碼怎麼解決
在命令行終端上工作時,經常會碰到一個頭疼的問題就是中文亂碼。下面我們就來看一下解決python在終端輸出亂碼的解決方法。
牽涉編碼的地方一共有五處:
Python代碼文件前兩行聲明的編碼
Python代碼文件實際存儲所使用的編碼
Vim的顯示編碼
Linux系統的文件編碼
SecureCRT等終端設置的顯示編碼
嚴格來講,五碼一致的時候,如果文件沒有損壞,應該是能夠正常顯示了。
Python編碼聲明:
如果python代碼文件中包含中文,就一定要在代碼文件的前兩行(注意:一定要是前兩行)做出編碼聲明,否則python代碼默認採用ASCII保存,這樣遇到中文字元就會報錯。在代碼頭部聲明編碼的方式有三種:
# coding=<encoding name>
# -*- coding: <encoding name> -*-
# vim: set fileencoding=<encoding name>
Vim中有關編碼的選項:
在 Vim 中,有四個與編碼有關的選項,它們是:fileencodings、fileencoding、encoding 和 termencoding。
Linux系統的編碼設置:
Linux的系統編碼設置可以通過設置locale來完成,直接在命令行敲locale,然後回車,即可查看當前系統的編碼設置,與保存文件相關的設置是LC_CTYPE。
如LC_CTYPE=zh_CN.gb18030,即把系統的編碼設置成為了gb18030。
更多Python知識請關注Python自學網
『柒』 Python為什麼一運行就是亂碼
可能是編碼問題,開頭加上coding:utf-8試試。
『捌』 python3 中文輸出亂碼問題
python 3和2很大區別就是python本身改為默認用unicode編碼。
字元串不再區分"abc"和u"abc", 字元串"abc"默認就是unicode,不再代表本地編碼、
由於有這種內部編碼,像c#和java類似,再沒有必要在語言環境內做類似設置編碼,比如「sys.setdefaultencoding」;
也因此也python 3的代碼和包管理上打破了和2.x的兼容。2.x的擴展包要適應這種情況改寫。
另一個問題是語言環境內只有unicode怎麼輸出gbk之類的本地編碼。
答按慣例都在(序列化)輸出時才轉換成本地編碼。
比如
file.write("GBK的中文".encode("GBK"))
python環境內字元串用str.encode("GBK")方法輸出成位元組串用於和其他環境交流。
『玖』 python中文顯示亂碼,已經在開頭有了coding: utf-8
亂碼原因:
因為你的文件聲明為 utf-8,並且也應該是用 utf-8 的編碼保存的源文件。但是 windows 的本地默認編碼是 cp936,也就是 gbk 編碼,所以在控制台直接列印 utf-8 的字元串當然是亂碼了。
解決方法:
py文件用記事本打開,另存為utf-8格式即可
『拾』 python 中文亂碼問題
記事本是用utf-8保存你下載了東西的。你下載下來的不是utf-8,保存下來中文當然就亂碼了。而gbk和utf-8里英文的編碼值都一樣,所以不受影響。
一個方法是你留意下目標頁面的charset 和 contentType,另一個方法是你復制一個目標頁面的字,放cmd里看它的編碼長度,以此來判斷它的原來編碼。