python aws boto - sns.publish不支持带表情符号的文本

时间:2014-02-11 12:22:53

标签: python amazon-web-services boto amazon-sns

我们正在使用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')

0 个答案:

没有答案