Google app engine 如何在google app engine中的帖子中接收包含以下字符的字符串的变量:õá;?

Google app engine 如何在google app engine中的帖子中接收包含以下字符的字符串的变量:õá;?,google-app-engine,encoding,decoding,Google App Engine,Encoding,Decoding,//补充:问题是“sdafsaã”应该是u“sdafsaã”。字符串前面有一个“u”。现在它起作用了 然后我得到这个 email = self.request.get('email') name = self.request.get('name') mail.send_mail(sender="myemail", email=email, body=name, subject="sss " + name + "sdafsaã") 他们可能有像õó之类的角色 有关详细信息: 运行辅助程序的代码(

//补充:问题是“sdafsaã”应该是u“sdafsaã”。字符串前面有一个“u”。现在它起作用了

然后我得到这个

email = self.request.get('email')
name = self.request.get('name')
mail.send_mail(sender="myemail", email=email, body=name, subject="sss " + name + "sdafsaã")
他们可能有像õó之类的角色

有关详细信息:

运行辅助程序的代码(之前的代码) 该名称是从数据存储中接收的名称,包含像õ和ó这样的字符

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)

谢谢

试着阅读一下unicode在Python中的工作原理:


此外,如果您在开发服务器上看到此错误,请确保您正在运行Python 2.5。

问题是连接两个字符串:| | | | body=name+“|”=>error | | | body=name+u“|”=>有效|||

您应该使用:

 taskqueue.add(url='/emailworker', params={'email': e.email, 'name': e.name})
变量
name
是一个unicode字符串,在连接到其他字节字符串之前,应使用
utf-8
或web应用程序中使用的编码方式进行编码。

如果没有
name.encode()
,Python将使用默认的7位
ascii
编解码器,无法对特定字符进行编码。

尝试
encode

email = self.request.get('email')
name = self.request.get('name')
mail.send_mail(sender="myemail", 
               email=email, 
               body=name, 
               subject="hello " + name.encode('utf-8') + " user!")

问题是连接两个字符串:| | | body=name+“ã”=>错误| | | body=name+u“ã”=>有效|||尝试尽可能长时间地单独使用unicode字符串(因此
decode()
将ASCII字符串转换为unicode字符串),然后
encode()
在需要时将unicode转换回字节字符串。您是否在开发服务器上使用python 2.5(而不是2.6+),同样的问题不要再问了。谢谢,但问题不在那里;我应该在包含“ã”的字符串之前添加“u”。就这些
t ='việt ứng '
m = MyModel()
m.data = t.encode('utf-8')
m.put() #success!