PayPal IPN POST 请求编码
Posted
技术标签:
【中文标题】PayPal IPN POST 请求编码【英文标题】:PayPal IPN POST request encoding 【发布时间】:2012-06-05 20:55:27 【问题描述】:当尝试在 Pyramid(可能还有其他人)中使用 PayPal IPN POST 有效负载时,出现解码错误:
[...]
File "./project/views.py", line 716, in paypal_ipn
message = request.POST
File "build/bdist.linux-x86_64/egg/webob/request.py", line 745, in POST
File "build/bdist.linux-x86_64/egg/webob/multidict.py", line 74, in from_fieldstorage
File "build/bdist.linux-x86_64/egg/webob/multidict.py", line 67, in <lambda>
File "/sites/ts/lib64/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf3 in position 5: invalid continuation byte
如何解决?
【问题讨论】:
如果您可以将您的解决方案转变为自我回答并接受它,那就太好了。谢谢。 【参考方案1】:将您的“问题”编辑为一个真正的问题,我们会很高兴的!
由于某些不虔诚的原因,PayPal 仍未进入 21 世纪,并且默认情况下仍使用 Windows-1252 编码。这可能会产生一些问题,因为现在期望 unicode 成为一种编码选择是很合理的。
这可能会导致在使用 Pyramid 时出现如下回溯:
[...]
File "./project/views.py", line 716, in paypal_ipn
message = request.POST
File "build/bdist.linux-x86_64/egg/webob/request.py", line 745, in POST
File "build/bdist.linux-x86_64/egg/webob/multidict.py", line 74, in from_fieldstorage
File "build/bdist.linux-x86_64/egg/webob/multidict.py", line 67, in <lambda>
File "/sites/ts/lib64/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf3 in position 5: invalid continuation byte
要解决这个问题,您必须:
-
点击“我的帐户”下的“个人资料”链接
在 «Selling Preferences» 列中找到 «Language Encoding»
点击«更多选项»
选择«UTF-8»并保存
或者
-
点击“我的帐户”下的“个人资料”链接
点击右侧的«我的销售工具»
找到«PayPal按钮语言编码»链接(应该在底部)
点击«更多选项»
选择«UTF-8»并保存
取决于您的 PayPal 帐户类型。希望这能挽救一个人和一个小时的生命。
【讨论】:
没问题。希望它现在看起来更好。【参考方案2】:由于某些不虔诚的原因,PayPal 仍未进入 21 世纪,并且默认情况下仍使用 Windows-1252 编码。这可能会产生一些问题,因为现在期望 unicode 成为一种编码选择是很合理的。
要解决这个问题,您必须:
-
点击“我的帐户”下的“个人资料”链接
在 «Selling Preferences» 列中找到 «Language Encoding»
点击«更多选项»
选择«UTF-8»并保存
或者
-
点击“我的帐户”下的“个人资料”链接
点击右侧的«我的销售工具»
找到«PayPal按钮语言编码»链接(应该在底部)
点击«更多选项»
选择«UTF-8»并保存
取决于您的 PayPal 帐户类型。希望这可以挽救某人一小时的生命。
【讨论】:
以上是关于PayPal IPN POST 请求编码的主要内容,如果未能解决你的问题,请参考以下文章
测试 IPN 不应该从我的 Paypal 沙盒帐户中取钱吗?