python中文編碼問題

第一步:在代碼中輸入如下命令,執行:python

#在Python中顯示中文註釋和輸出中文
a ="中文"
print a函數

返回錯誤:post

d:\Python27\python.exe "D:\test\中文.py"
Process started >>>
  File "D:\test\中文.py", line 1
SyntaxError: Non-ASCII character '\xe5' in file D:\test\中文.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
<<< Process finished. (Exit code 1)
================ READY ================編碼

第二步,加入編碼格式:spa

#-*- coding:utf-8 –*-命令行

#在Python中顯示中文註釋和輸出中文
a ="中文"
print acode

返回結果:blog

d:\Python27\python.exe "D:\test\中文.py"
Process started >>>
涓枃
<<< Process finished. (Exit code 0)
================ READY ================utf-8

程序能夠正確執行,但輸出的還是亂碼。it

第三步,查找亂碼並處理:

緣由:這是由於win的,命令行用的是cp936編碼,而上面腳本用的是utf-8編碼,所以致使亂碼。

解決方法是,使用decode和encode函數對字符從新解碼和編碼。

#-*- coding:utf-8 –*-
#在Python中顯示中文註釋和輸出中文

#import sys
#reload(sys)
#sys.setdefaultencoding('utf-8')

a ="中文"
print a.decode('utf-8').encode('cp936') 

返回結果:

d:\Python27\python.exe "D:\test\中文.py"Process started >>>中文<<< Process finished. (Exit code 0)================ READY ================

相關文章
相關標籤/搜索