我应该使用哪种编码标准,以便它支持大多数字符?

时间:2013-06-03 11:19:14

标签: python encoding

我想解析Feed

feed = feedparser.parse(url)
e = feed.entries[0]
summary=e['summary']

现在当我使用BeautifulSoap解析摘要时。

self.summary = BeautifulSoup(summary.encode('utf-8')) #summary

我收到了错误。

  

异常类型:UnicodeEncodeError异常值:'ascii'编解码器   不能编码位置755中的字符u'\ xa3':序数不在   范围(128)

问题在于£4,000 。我尝试过:

summary.encode('utf-8','ignore'), summary.encode('ascii','ignore')

我花了很多时间来解决这个问题,但仍然不能。所以我在这里问这个问题。

如果您让我知道支持大多数字符的编码或跳过该字符的任何方法,那将非常有帮助。

1 个答案:

答案 0 :(得分:1)

我尝试将带有utf8英镑符号的html文件加载到字符串“file”中

这给出了与您所看到的相同的错误

soup2=BeautifulSoup(file.encode('utf8'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 17: ordinal not in range(128)

然而,这似乎工作得很好

soup2=BeautifulSoup(file.decode('utf-8'))
soup2.find('p')
<p>£
</p>

我想“编码”和“解码”的概念是你所期望的另一种方式。希望这会有所帮助。