回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我建立了一个连接到谷歌金融API,它给我股票报价。在我转学欧洲的课程之前,一切都很顺利。这些包含欧元符号,我得到以下错误:</p>
<pre><code>Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\getQuotes.py", line 32, in <module>
quote = c.get("SAP","FRA")
File "C:\Users\Administrator\Desktop\getQuotes.py", line 21, in get
obj = json.loads(content[3:])
File "C:\Python27\lib\json\__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 381, in raw_decode
obj, end = self.scan_once(s, idx)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 0: invalid start byte
</code></pre>
<p>下面是我使用的代码。我猜json试图处理字符串时出现错误,但无法解析欧元符号:</p>
^{pr2}$
<p>以下是Google Finance为我提供包含欧元符号的SAP股票的输出:</p>
<pre><code>// [ { "id": "8424920" ,"t" : "SAP" ,"e" : "FRA" ,"l" : "56.51" ,"l_cur" : "€56.51" ,"s": "0" ,"ltt":"8:00PM GMT+2" ,"lt" : "Aug 7, 8:00PM GMT+2" ,"c" : "-0.47" ,"cp" : "-0.82" ,"ccol" : "chr" } ]
</code></pre>
<p>我试图使用这个函数,而不是打开器(content[3:])部分,但是由于这个,我得到了相同的错误,而且我得到了一个ascii错误,而不是utf-8。在</p>
<pre><code>json.loads(unicode(opener.open(...), "ISO-8859-15"))
</code></pre>
<p>如果有人有主意,我会很高兴的。在</p>