我正在使用谷歌应用引擎Python 2.5进行工作。
由于我的用户名具有以下值,因此我在以下代码中遇到了UnicodeDecodeError:
userName = unicode(userName).encode('utf-8') # äºï¼égãwmj is value in this variable
userName = unicode(userName).encode('utf-8')
strData = '{\"Sid\" :1, \"Oppid\" :%s, \"Aid\" :%s, \"EC\" :\"%s\", \"Name\" :\%s"' % (enemyID, userID, userEmpCode,userName)
params = {'deviceToken' : oDeviceToken,
'message' : strMessage,
'CertificateId' : certificateId,
'Data' : strData
}
result = urlfetch.fetch(url = url,
payload = urllib.urlencode(params),
method = urlfetch.POST,
headers = {"Authorization" : authString},
deadline = 30
)
我正在对用户名执行以下步骤,将其编码为UTF-8,以便作为有效载荷发送。
username = unicode(username).encode(utf-8)
我相信当我调用urllib.urlencode(params)
时发生了错误。
请指导出现了什么问题,或者您可以...
以及在appengine python上处理unicode字符串的最终策略应是什么。
我已经尝试了不同的解决方案并阅读了不同的线程... 但仍然没有起作用。