好的......这真的很简单。我有一个(非常简单的)脚本,它从 url 获取数据,然后对其进行解码(如果它可以工作,我稍后会使用它)。
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(eclipse)相同的 python 版本(3.2.3)相同的脚本,它运行良好。我得到了所有的文本,它是可读和可处理的。我检查了目录 - cp1255 存在。我试图用“cp1252”替换“cp1255” - 它可以工作,但编码的文本是乱码。
我在这里错过了什么吗?我在两个项目中都得到了相同的设置,但它目前只在 Linux 上运行。