我们正在使用AWS boto SNS发布来发布我们的推送通知。
pub_result = self.conn.publish(message=message_json,target_arn=device_arn,message_structure='json')
如果消息文本包含表情符号,我们会收到异常: 第490行,在add_auth \ n qs = self.query_string(req)\ n文件“/usr/local/lib/python2.7/dist-packages/boto/auth.py”,第332行,在query_string \ n pval = str(http_request.params [pname])。encode(\'utf-8 \')\ nUnicodeDecodeError:\'ascii \'codec无法解码位置48的字节0xf0:序数不在范围内(128)\ n' ,'错误':u“'ascii'编解码器无法解码位置48中的字节0xf0:序数不在范围内(128)”}
可能的解决方案是改变: https://github.com/boto/boto/blob/develop/boto/auth.py
第333行: 替换:
val = str(http_request.params[pname]).encode('utf-8')
使用:
val = unicode(http_request.params[pname]).encode('utf-8')