看板 Python 關於我們 聯絡資訊
※ 引述《laiDark (C)》之銘言: : 錯誤訊息截圖:https://imgur.com/Zw5wXnn 你的錯誤訊息告訴你,這個錯誤發生於 client.py 的 1117 行︰ self._output(request.encode('ascii')) 當 request 以 ascii encode 時發生錯誤,因為它包含非 ascii 的字元。 這個錯誤和你用哪家 cmd、哪個作業系統沒有關係,單純是因為你在 URL 裡 加入了非 ascii 的字元造成的。 你貼的 stackoverflow 問題也和這無關(該問題本身也有些意義不明), 並且該問題內使用的 Python 版本還是 2.x,跟你的狀況不同。 由於你沒有貼 quote 相關的程式碼,只能從你 quote 的結果來猜測問題在哪。 quote 輸出為︰ "%C2%83L%C2%83%C2%93%C2%83A%C2%83C1" 先 unquote︰ "\x83L\x83\x93\x83A\x83C1" 這裡就能很明顯看出來你把一串 binary 資料丟給 quote 了。 轉成 bytes 並以 shift-jis 進行 decode︰ "\x83L\x83\x93\x83A\x83C1".encode("latin-1").decode("shift-jis") 得到的結果就是︰ 'キンアイ1' 結論大概就是,你在一開始拿到的內容就錯了,而且內容是以 latin-1 編碼。 這也符合你貼出來的錯誤︰ 'ascii' codec can't encode character '\x83' -- ヾ(;ω;) ヾ(;ω;) http://i.imgur.com/oAd97.png -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.186.18 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1532869421.A.415.html
eight0: 順便補充一點,推文提到的 print 問題在 3.6 版已經解決 07/29 21:04
laiDark: 謝謝e大特地回文,沒想到錯誤訊息真的派上用場... 07/29 22:01
laiDark: 因為我直接看下面的Error 拿去當關鍵字去找 07/29 22:02
laiDark: 沒仔細看上面的訊息(不過現階段我應該也不懂...) 07/29 22:03
laiDark: 所以一直往錯誤的方向去搜尋... 07/29 22:04
laiDark: 另外e大反推出的日文字結果是對的! 謝謝e大的回文 07/29 22:05
TitanEric: 好厲害R 推 07/29 22:36
cutekid: 大推(Y),長知識了! 07/30 15:13