Python 如何列印出中文字元?
現在用 notepad++,在 UTF-8 格式下編寫以下語句:
#coding=utf-8print"請輸入銷售額"列印結果是亂碼。
用的是 Python2.7.8 版本,在 eric 編譯器下面編譯的。
必須明確的是:無論是在什麼設備上顯示一串字元串(特別是非ascii),都會涉及字元串的編碼方式和顯示設備的編碼方式,只有二者兼容才不會出現亂碼的情況。
這裡的顯示設備是廣義的,如終端,編輯器,IDE等等。
所以,請保證你的顯示設備與字元串本身編碼一致即可解決此問題。(例如eric也是utf-8,或者將#coding設置為與eric編碼相同的編碼即可)可以的話盡量遷移到Python3。。
只需要print("我是漢字")print u"請輸入銷售額"
print u"" 或者 str.decode("utf-8"")類似這樣 還有 windows平台下的IDLE上的字元串默認解碼是GBK
不邀,厚臉皮答;python好像對中文支持一直不好呢,有時候指定路徑還得把路徑改成全英文的,這也是一直困擾我的問題,所以一看見這個問題就進來了;跑去搜了下。具體可以看Python中文全攻略這篇文章,我剛試了下,print u"請輸入銷售額"可以列印出不亂碼的中文。第一次回答問題,好緊張的說。
可以使用unicode函數
print (unicode("請輸入銷售額", encoding="utf-8"))
將utf-8編碼轉換為unicode就可以輸出中文了。
關於python的中文字元,最近有點接觸。
通常中文字元請務必寫成 u"中文超容易亂碼"的形式。
如果是從excel等office系列軟體或者從windows系統里導入內容,請寫出 temp_str.decode("gb2312")
再有一些從網上爬下的數據可能要寫成 temp_str.encode("utf-8")
謝邀。編碼問題在Windows下總是會出奇怪的問題。簡單的辦法就如 @wuy1019 所說,直接把字元串的類型指定為Unicode就可以解決了。另外一個更好的辦法是,不要使用Python 2,使用Python 3就沒有這種問題了。
import jsondic = json.dumps(dic, ensure_ascii = False, encoding = "utf-8")
# coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding("utf8")
開頭加上這些就好了。
人生苦短,我用python3
哈哈,剛好遇到了這個問題,python2.7.14.notepad++,編碼設置成了(以UTF-8無BOM格式編碼)微軟windowsPowerShell。
# -*- coding: utf-8 -*-
print("中文python")
輸出亂碼
# -*- coding: utf-8 -*-
print(u"中文python")
正常輸出。
兩者輸入上的區別無非是一種用UTF-8編碼(也會轉化成Unicode供內存讀取),一種用Unicode,直接供內存讀取。這一點在廖雪峰老師官網的python2.7舊版教材中有提醒:
如果你使用Notepad++進行編輯,除了要加上# -*- coding: utf-8 -*-外,中文字元串必須是Unicode字元串:
並且文章下面有討論。
Windows系統編碼有點亂,經常在這個機子上可以顯示中文了,換了一台,又不行了。傷腦筋。
推薦閱讀:
※三十歲從電氣轉行 IT 是否可行?
※Flask的g對象,範圍是什麼?
※python有哪些發展方向?
※為什麼說浮點數缺乏精確性? python中浮點數運算問題
※Apache伺服器上同時運行php的網站和django的網站,該如何配置Apache和Django的URL?