email = self.request.get('email')
name = self.request.get('name')
mail.send_mail(sender="myemail", email=email, body=name, subject="sss " + name + "sdafsaã")
// added ã: the problem was that "sdafsaã" should be u"sdafsaã". with a "u" before the string. and now it works
then i get this
main.py", line 85, in post
subject="sss " + name + "sdafsa",
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 36: ordinal not in range(128)
the might have chars like õ ó and something like that.
for more details:
the code to run the worker(the code before) the name is the one that is received from the datastore and contains chars like õ and ó...
taskqueue.add(url='/emailworker', params={'email': e.email, 'name': e.name})
thanks
the problem is joining 2 strings: ||| body = name + "ã" => error ||| body = name + u"ã" => works!!! |||
Try with
encode
Try reading a little about how unicode works in Python:
Also, make sure you're running Python 2.5 if you are seeing this error on the development server.
You should use:
The variable
name
is a unicode string and should encoded inutf-8
or in the kind of encode you are using in you web application before concatenating to other byte strings.Without
name.encode()
, Python uses the default 7 bitsascii
codec that can't encode that specific character.