好的...這很簡單。我有一個(非常簡單的)腳本,它可以從一個url中獲取數據,然後對其進行解碼(如果它能工作,我會稍後使用它)。Python解碼()不起作用 - 但只能在windows下運行
rsp=urllib.request.urlopen(myurl)
print(rsp.read().decode("cp1255"))
當我執行此,我越來越
File "C:\Program Files\Python32\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position
這,只能在Windows上雖然發生!我有一臺Linux機器(Ubuntu 12.10,喜歡它)相同的IDE(日食)相同的Python版本(3.2.3)相同的腳本,它很好地工作。我得到所有的文本,它是可讀和可處理的。 我檢查了目錄 - cp1255存在。我試圖用「cp1252」替換「cp1255」 - 它可以工作,但編碼文本是亂碼。
我在這裏錯過了什麼嗎?我在兩個項目中都獲得了相同的設置,但它目前只在Linux上工作。
什麼是確切的URL? –
如何重現?我猜你的數據在不同的操作系統上有所不同......先自己驗證一下。我對你的主張的信任接近於零。 –
問題在於打印行。如果我只解碼,它的工作正常。所以是的,這可能是一個操作系統問題 – donald