UnicodeEncodeError:'charmap'编解码器不能编码字符

Python在使用wolfram alpha api时会抛出这个问题:

Traceback (most recent call last): File "c:\Python27\lib\threading.py", line 530, in __bootstrap_inner self.run() File "c:\Python27\lib\site-packages\Skype4Py\utils.py", line 225, in run handler(*self.args, **self.kwargs) File "s.py", line 38, in OnMessageStatus if body[0:5] == '!math':wolfram(body[5:], '') File "s.py", line 18, in wolfram print "l: "+l File "c:\Python27\lib\encodings\cp437.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_map) UnicodeEncodeError: 'charmap' codec can't encode character u'\xd7' in position 3 : character maps to <undefined> 

我怎么解决这个问题?

看起来你正在将高字节数据传递给API,并且不喜欢(\ xd7是“Times”字符;看起来像一个X)。 我不确定打印的目的是什么,但将其改为print "l: " + repr(l)print "l: ", l可能至少会让你过去上面的错误,假设你没有想在身体转换为unicode的业务(我假设它不是…)。

如果这没有帮助,我们需要更多的细节。 你的输入来自哪里? 身体unicode,还是一个字节字符串? 你使用Python 2.7或3.x?