我正在试验 Python 的 Twitter API 并遇到了字符编码/解码问题;当我为用户(在本例中为@BBCWorld)收集推文时,如果有特殊标点符号,我会收到以下错误:
286952044814794753 : Traceback (most recent call last):
File "C:\Python27\lib\encodings\cp850.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u201c' in position 0: character maps to <undefined>
注意:开头的长数字是导致错误的推文的 ID。
导致此问题的特定字符是一个角(打开)双引号(如 MS-Word 中使用的那些)。有没有办法以兼容的形式显示这种标点符号?理想情况下,我想通过使用替换来清理推文以克服这种错误,从而保持上下文,而不是省略字符。
这是代码的核心:
tweets=api.GetUserTimeline('BBCWorld')
try:
for tweet in tweets:
print tweet.id, ": ", (tweet.text)
except UnicodeEncodeError as uee:
print uee
感谢您的任何指点,
米卢汀