当尝试在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
如何解决这个问题?
答案 0 :(得分:5)
编辑您的“问题”是一个真实的问题,我们会很高兴去!
出于某种不明智的原因,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
要修复你必须:
或者
取决于您的PayPal帐户的类型。希望能拯救某人和一小时的生命。
答案 1 :(得分:1)
出于某种不明智的原因,PayPal仍然不是21世纪,默认情况下仍然使用Windows-1252编码。这可能会产生一些问题,因为现在期望unicode成为一种选择的编码是非常合理的。
要修复你必须:
或者
取决于您的PayPal帐户的类型。希望这会拯救一个人一小时的生命。