2012-05-31 20 views
10

Quando si cerca di lavorare con PayPal IPN POST payload di Pyramid (e, probabilmente, altri) ottengo errori di decodifica:PayPal IPN Inserisci richiesta codifica

[...] 
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 

Come risolvere questo?

+5

Sarebbe fantastico se potessi trasferire la soluzione a una risposta personale e accettarla. Grazie. – Kev

risposta

4

Modifica la tua "domanda" per essere una vera domanda e saremo pronti per partire!


Per qualche ragione non voluta, PayPal non si trova ancora nel 21 ° secolo e utilizza ancora la codifica Windows-1252 per impostazione predefinita. Ciò potrebbe creare alcuni problemi poiché è abbastanza ragionevole aspettarsi che l'unicode sia una codifica di scelta al giorno d'oggi.

che potrebbero risultare in qualcosa di simile a seguito traceback quando si utilizza Piramide:

[...] 
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 

Per risolvere che si deve a uno:

  1. Clicca sul «profilo» link sotto «Il mio conto»
  2. Nella colonna «Preferenze di vendita» trova «Codifica della lingua»
  3. Fai clic su «Altre opzioni»
  4. Selezionare «UTF-8» e salvare

O

  1. Clicca sul «profilo» link sotto «Il mio conto»
  2. Cliccate su «I miei strumenti di vendita» sulla destra
  3. Trova «Collegamento codifica lingua pulsante PayPal» (dovrebbe essere nella parte inferiore)
  4. Fare clic su «Altre opzioni»
  5. Selezionare «UTF-8» e salvare

A seconda del tipo di conto PayPal. Spero che salverebbe qualcuno e l'ora della vita.

+0

Nessun problema. Spero che ora migliori. – dsx

1

Per qualche ragione non voluta, PayPal non si trova ancora nel 21 ° secolo e utilizza ancora la codifica Windows-1252 per impostazione predefinita. Ciò potrebbe creare alcuni problemi poiché è abbastanza ragionevole aspettarsi che l'unicode sia una codifica di scelta al giorno d'oggi.

Per risolvere che si deve a uno:

  1. Clicca sul «profilo» link sotto «Il mio conto»
  2. In «Preferenze per la vendita» colonna di trovare «codifica della lingua»
  3. Cliccate su «Altro opzioni »
  4. Selezionare«UTF-8»e salvare

O

0.123.
  1. Clicca sul «profilo» link sotto «Il mio conto»
  2. Cliccate su «I miei strumenti di vendita» sulla destra
  3. Ricerca «codifica PayPal lingua pulsante» link (dovrebbe essere in basso)
  4. Click su «Altre opzioni»
  5. Selezionare «UTF-8» e salvare

a seconda del tipo di conto PayPal. Spero che salverebbe qualcuno un'ora di vita.

Problemi correlati