Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UnicodeEncodeError: 'charmap' codec can't encode character

Tags:

python

Python throws this when using the 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>

how can I solve this?

like image 503
user1131308 Avatar asked Jan 19 '26 07:01

user1131308


1 Answers

Looks like you're passing in high-byte data to the API, and it's not liking that (\xd7 is the "Times" character; looks like an X). I'm not certain what purpose the print is for, but changing it to be print "l: " + repr(l) or print "l: ", l might at least get you past the above error, assuming you don't want to be in the business of converting the body to unicode (I'm assuming it's not...).

If that doesn't help, we'll need more details. Where is your input coming from? Is body unicode, or a byte string? Are you using python 2.7 or 3.x?

like image 140
Eli Stevens Avatar answered Jan 21 '26 22:01

Eli Stevens