一、在源碼文件第一行添加 #-*-coding:utf-8-*- 或 #encoding=utf-8 或 #encoding=UTF-8html
注意:必定要在第一行!python
二、在字符串前加 ‘ u ’ spring
例: spring=u"這是一個測試字符串"測試
三、若上述2種方式仍然不能保證能輸出正常輸出中文,就須要作編碼解碼設置編碼
即 encode: 編碼(真實字符與二進制串的對應關係,真實字符→二進制串)spa
decode: 解碼(二進制串與真實字符的對應關係,二進制串→真實字符).net
① 打印字符串時,字符串自己的編碼,與輸出終端中所用編碼不匹配3d
例:自己是UTF-8類型的字符串,可是卻將其輸出到Windows的cmd中,而cmd中默認是GBK編碼的,致使二者不匹配code
解決辦法:htm
能夠把UTF-8的字符,解碼爲對應的Unicode,(也能夠進一步的,把Unicode字符串,編碼爲GBK)。而後再輸出到
GBK的cmd中,就能夠正常顯示,不是亂碼了:
② 打印含某些特殊字符的Unicode類型字符串,可是輸出終端中字符編碼集中不包含這些特殊字符
例:把Unicode字符串,打印到Windows的cmd中,結果出錯:
解決辦法:
實例:
1. str 轉換爲 unicode
2. unicode 轉換爲str
參考文檔:
python中的編碼與解碼: https://www.cnblogs.com/shine-lee/p/4504559.html
Python: 在Unicode和普通字符串之間轉換: http://www.javashuo.com/article/p-eozfvcng-mq.html
Python 2.x中常見字符編碼和解碼方面的錯誤及其解決辦法:https://blog.csdn.net/gmj4850/article/details/17115285