UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
我在谷歌Appenginepython2.5工作。
我在以下代码上遇到unicodedecoderror,因为myuser name具有以下值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | userName = unicode(userName).encode('utf-8') # ?o??é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,以便将其作为有效负载发送。
1 | username = unicode(username).encode(utf-8) |
我相信当我调用
请指引出了什么问题。或者你可以…
在appengine python上处理unicode字符串的最终策略是什么。
我尝试过不同的解决方案,阅读不同的主题。但还是没用
您的问题似乎是您在调用
您可能不应该调用
我在将python 3代码从UbuntuLinux14.04移植到FreeBsd10.3时遇到了类似的问题。在用Python3.4.4打开文件时,后一个系统在默认情况下似乎使用ASCII而不是UTF-8。
用文件
1 | open('filepath', encoding='utf-8') |