python2輸出中文亂碼問題

python2輸出中文亂碼問題

 

一、在源碼文件第一行添加 #-*-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

相關文章
相關標籤/搜索