python中文亂碼u
Ⅰ python中文顯示亂碼,已經在開頭有了coding: utf-8
亂碼原因:
因為你的文件聲明為 utf-8,並且也應該是用 utf-8 的編碼保存的源文件。但是 windows 的本地默認編碼是 cp936,也就是 gbk 編碼,所以在控制台直接列印 utf-8 的字元串當然是亂碼了。
解決方法:
py文件用記事本打開,另存為utf-8格式即可
Ⅱ python中文亂碼解決
windows下的文件路徑,cmd窗口等默認編碼都是gbk
但在windows下編寫python程序的時候,我們一般採用的編碼是utf-8
二者不一致是導致亂碼的根本原因!
在pycharm下,為了中文不亂碼,那麼需要注意一下幾個方面:
一、每一個源程序文件頭部,需要加上
#-*-coding:utf-8;-*-
這樣就沒有亂碼了
Ⅲ python命令行輸入中文亂碼怎麼辦
python2.X,代碼中指定了UTF-8,但是在cmd命令行窗口時,列印的中文仍然會亂碼。
在python3不存在該問題
運行結果:
原因
中文windows默認的輸出編碼為gbk ,與腳本中定義的UTF-8不一樣,所以出現了解碼失敗的情況。
相關推薦:《Python基礎教程》
解決方法
有如下兩種方法可以解決這個問題
方法一
我們可以通過先把中文解碼為unicode,然後再轉化為gbk來解決這個問題:
修改後運行結果:
方法二
當然,我們也可以通過改變cmd命令行窗口的輸出格式來解決這個問題:
·chcp 65001 就是換成UTF-8代碼頁
·chcp 936 可以換回默認的GBK
但是這樣就降低了腳本的兼容性,在其他環境運行的時候可能還會出現這樣的錯誤,而且可能會影響其他腳本運行,所以推薦使用第一種方法。
Ⅳ python如何解決報表顯示中文亂碼
python解決報表顯示中文亂碼的方法:
在代碼文件的第一行添加「# coding=utf-8」語句,該語句可以使編譯器以utf-8格式對中文解碼,這樣中文就不會出現亂碼了
示例如下:
執行結果:
更多Python知識,請關註:Python自學網!!
Ⅳ python print中文亂碼問題 win10 Python2
python2字元串編碼的問題,如果要輸出中文可以使用u前綴,這樣就可以直接使用了
a=u'你好'
printa
這樣就可以了
Ⅵ python輸入中文現在亂碼怎麼辦,為什麼
Python 2 裡面,unicode 字元前面要加 u。
你這里應該改成
print u"現在可以顯示中文了"
Ⅶ Python中中文亂碼問題
a ='哈哈'
b = a.encode('utf-8')
以上你的代碼是UTF8編碼吧,a本來就是UTF8編碼,你在給它編碼幹嘛,encode是編碼,decode是解碼,你不報錯沒天理。
a = u'哈哈'
b = a.encode('utf-8')
a是U編碼類型也就是你上一個沒加U的哈哈的解碼,它肯定不會保存!
Ⅷ python 中文亂碼怎麼辦求解啊
從你的補充中知道了問題所在。
你要把Unicode理解為「計算機的世界語」,好比不同國家的計算機只聽得懂他們本國的母語,
但他們之間若想交流,就必須要有一門世界語,這就是unicode。
理論上的東西不多說
只要在 u'(unicode)'前加上個小u就行,這樣就告訴計算機,應該用世界語來識別
Ⅸ 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編程 中文 出現亂碼問題
這是因為IDLE中使用gbk編碼,是ascii擴展字元集。
>>>importsys
>>>sys.getdefaultencoding()
'ascii'
解決方法:
在IDLE中執行的時候
去掉字元串前面的u字元,也不要加#coding這一行。
先import sys,然後reload(sys),再使用sys.setdefaultencoding("utf-8")。然後就可以列印前面帶u的字元串了。(這是搜來的方法,實驗了一下,發現在我這沒有輸出了。。重啟了IDLE,才可以輸出,不過又變會ascii了)
在文件中執行
在文件開頭聲明#coding行,文件保存為utf8編碼,在字元串開頭加u