錯誤內容:UnicodeEncodeError: 'ascii' codec can't encode characters in position 28-29: ordinal not in range(128)python
1.覺得是代碼錯誤,檢查tab符,並無問題,編碼
2.將代碼粘貼到空白項目中去,發現仍是不對。url
3.百度:http://blog.csdn.net/olanlanxiari/article/details/48201231spa
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的編碼格式。.net
2.將上面問題自身檢查,我這不存在這種問題,因此繼續百度code
3.發現python3 urlopen()連接地址不能出現中文,,那麼有中文怎麼辦?blog
a.辦法老是有的:替換ci
b.將中文內容經過quote方法替換get
from urllib.parse import quotestring
quote(url)
quote(url,safe='/:?=
')
c.quote可用的參數以下:
quote(string,safe='/',encoding=None,errors=None)
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","