python3 urllib.request.urlopen() 地址打開錯誤


錯誤內容:UnicodeEncodeError: 'ascii' codec can't encode characters in position 28-29: ordinal not in range(128)

1.以為是代碼錯誤,檢查tab符,並沒有問題,

2.將代碼粘貼到空白項目中去,發現還是不對。

3.百度:http://blog.csdn.net/olanlanxiari/article/details/48201231

  1.Python在安裝時,默認的編碼是ascii,當程序中出現非ascii編碼時,python的處理常常會報這樣的錯UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python沒辦法處理非ascii編碼的,此時需要自己設置將python的默認編碼,一般設置為utf8的編碼格式。

  2.將上面問題自身檢查,我這不存在這種問題,所以繼續百度

  3.發現python3 urlopen()鏈接地址不能出現中文,,那么有中文怎么辦?

    a.辦法總是有的:替換

    b.將中文內容通過quote方法替換

       from urllib.parse import quote

       quote(url)

       quote(url,safe='/:?=')  

    c.quote可用的參數如下:

      quote(string,safe='/',encoding=None,errors=None)

      reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

  


免責聲明!

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



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