Google app engine 如何在google app engine中的帖子中接收包含以下字符的字符串的变量:õá;?
//补充:问题是“sdafsaã”应该是u“sdafsaã”。字符串前面有一个“u”。现在它起作用了 然后我得到这个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ã") 他们可能有像õó之类的角色 有关详细信息: 运行辅助程序的代码(
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!