python中含有中文字符無法運行

1.問題描述

Python打印中文報錯

[root@TDExpress1620_Sles11]$  cat 2.py
#!/usr/bin/python
print("百度經驗")

執行報錯

[root@TDExpress1620_Sles11]$  python 2.py 
File "2.py", line 2
SyntaxError: Non-ASCII code starting with '\xb0' in file 2.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

或者報錯

'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:531509025
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
[root@TDExpress1620_Sles11]$  python 2.py 
File "2.py", line 2
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xb4 in position 0: invalid start byte

2.原因分析

原因一:使用ptyhon 2.x默認編碼格式爲ASCII,打印中文時,如果程序中沒有額外指定編碼的話,會出現錯誤。

原因二:使用Python3.x默認編碼格式是 UTF-8,打印中文時亂碼,可能是文件存儲的格式是ANSI,可以使用notepad++打開文件確認。

原因三:顯示亂碼,系統的字符集不爲UTF-8
在這裏插入圖片描述

3.解決方法

原因一:在第一行#!/usr/bin/python後面依次嘗試加入如下語句,指定編碼字符集:

#coding=utf-8#-*-coding:utf-8 -*-#-*-coding:GBK -*-

原因二:只用notepad++打開test.py >> 菜單欄Encoding(編碼)>> Convert to UTF-8(轉化成utf-8)

原因三:設定LC_ALL的值爲zh_cn.utf-8

export LC_ALL=zh_cn.utf-8 #加入環境變量可以永久生效

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章