2012-05-31 48 views
10

Cuando se trata de trabajar con carga útil de PayPal IPN POST en pirámide (y, probablemente, otros), recibo errores de decodificación:solicitud de PayPal IPN posterior a la codificación

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

cómo arreglar eso?

+5

Sería genial si pudiera mover su solución a una auto-respuesta y aceptarla. Gracias. – Kev

Respuesta

4

¡Edite su "pregunta" para ser una pregunta real y estaremos listos para continuar!


Por alguna razón impíos PayPal aún no está en el siglo 21 y todavía utiliza la codificación de Windows-1252 de forma predeterminada. Eso podría crear algunos problemas, ya que es bastante razonable esperar que Unicode sea una codificación de elección hoy en día.

que podrían desembocar en algo como siguiente rastreo cuando se utiliza la pirámide:

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

Para solucionar esto hay que o bien:

  1. Haga clic en «perfil» enlace bajo «Mi cuenta»
  2. En la columna «Preferencias de ventas», encuentre «Language Encoding»
  3. Haga clic en «Más opciones»
  4. Seleccionar «UTF-8» y guardar

O

  1. Haga clic en «perfil» enlace bajo «Mi cuenta»
  2. Haga clic en «Mis herramientas de venta» a la derecha
  3. Encuentra «PayPal lenguaje de botón codificador» vínculo (debería ser en la parte inferior)
  4. Haga clic en «Más opciones»
  5. Seleccionar «UTF-8» y guardar

Según el tipo de su cuenta de PayPal. Espero que eso salve a alguien y una hora de vida.

+0

No hay problema. Espero que se vea mejor ahora. – dsx

1

Por alguna razón impía PayPal todavía no está en el siglo 21 y todavía usa la codificación de Windows-1252 por defecto. Eso podría crear algunos problemas, ya que es bastante razonable esperar que Unicode sea una codificación de elección hoy en día.

Para solucionar esto hay que o bien:

  1. Haga clic en «perfil» enlace bajo «Mi cuenta»
  2. En «Preferencias de ventas» columna de encontrar «Codificación de idioma»
  3. Haga clic en «Más opciones »
  4. Seleccionar«UTF-8»y guardar

O

  1. Haga clic en «perfil» enlace bajo «Mi cuenta»
  2. Haga clic en «Mis herramientas de venta» a la derecha
  3. Búsqueda «PayPal lenguaje de botón codificador» vínculo (debería ser en la parte inferior)
  4. clic en «Más opciones»
  5. Seleccionar «UTF-8» y guardar

Dependiendo del tipo de su cuenta PayPal. Espero que eso le ahorre a alguien una hora de vida.