python2輸出中文亂碼問題


python2輸出中文亂碼問題

 

1、在源碼文件第一行添加 #-*-coding:utf-8-*- 或  #encoding=utf-8 或  #encoding=UTF-8

     注意:一定要在第一行!

2、在字符串前加 ‘ u ’ 

    例: spring=u"這是一個測試字符串"

3、若上述2種方式仍然不能保證能輸出正常輸出中文,就需要做編碼解碼設置

     即 encode: 編碼(真實字符與二進制串的對應關系,真實字符→二進制串)

         decode: 解碼(二進制串與真實字符的對應關系,二進制串→真實字符)

    ① 打印字符串時,字符串本身的編碼,與輸出終端中所用編碼不匹配

  例:本身是UTF-8類型的字符串,但是卻將其輸出到Windows的cmd中,而cmd中默認是GBK編碼的,導致兩者不匹配

   

     解決辦法:

          可以把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和普通字符串之間轉換: https://blog.csdn.net/u012448083/article/details/51918681

Python 2.x中常見字符編碼和解碼方面的錯誤及其解決辦法:https://blog.csdn.net/gmj4850/article/details/17115285

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM