elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [PYTHON][AYUDA] Problema con acentos y ñ
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PYTHON][AYUDA] Problema con acentos y ñ  (Leído 19,110 veces)
LaThortilla (Effort)

Desconectado Desconectado

Mensajes: 234


¿En que vida harás lo que en esta no?


Ver Perfil WWW
[PYTHON][AYUDA] Problema con acentos y ñ
« en: 7 Abril 2015, 04:11 »

ayuda con este error.... unicodeencodeerror ascii codec can't encode character u\xf3
tiene la solución a este problema...


Explico un poco:
estoy haciendo una peticion desde python y obtengo como resultado un json:

Código
  1. {
  2.  "city": "Mexico",
  3.  "region": "Distrito Federal",
  4.  "country": "MX",
  5.  "loc": "386",
  6.  "org": "8 visión C.V.",
  7.  "postal": "14620"
  8. }
AGREGADO


El error aparece en la linia 4
Código
  1. def printtr(info, oufile):
  2.     log = '<tr><td class="info">'+json+'</td><tr>'
  3.     print(log)
  4.     oufile.write(log)

leyendo un poco encontre que es con las ñ y acentos proponen soluciones como esta:

SOLUCIONES QUE HE PROBADO:
1- encabezado pero no funcionan-...
Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
2. decodificar la cadena a utf-8 pero no funcionan-...
Código
  1. log = log.decode('utf-8')
3.- remplazar caracteres invalidos ('Solucion temporal')
Código
  1.  
  2.    #!/usr/bin/env python
  3.    # -*- coding: utf-8 -*-
  4.     json = json.replace('á','a')
  5.     json =  json.replace('é','e')
  6.     json =  json.replace('í','i')
  7.     json =  json.replace('ó','o')
  8.     json = json.replace('ú','u')
  9.     json = json.replace('Á','A')
  10.     #ETC. ETC.


« Última modificación: 8 Abril 2015, 02:22 por Effort » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.852


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [AYUDA] unicodeencodeerror ascii codec can't encode character u\xf3
« Respuesta #1 en: 7 Abril 2015, 04:26 »

Si quieres convertir ese valor a Unicode, puedes probar con unichr

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: [AYUDA] unicodeencodeerror ascii codec can't encode character u\xf3
« Respuesta #2 en: 7 Abril 2015, 05:39 »

La próxima vez, cómo mínimo especifica el lenguaje al que te refieras, aquí no hay magos, trata de formular preguntas que todos sean capaces de entender ...saldrás ganando.

Evita utilizar tags del tipo "[AYUDA]" en el título del mensaje, los tags están para especificar el lenguaje o un resumen del propósito.

· Unicode HOWTO

Saludos
« Última modificación: 7 Abril 2015, 05:44 por Eleкtro » En línea


LaThortilla (Effort)

Desconectado Desconectado

Mensajes: 234


¿En que vida harás lo que en esta no?


Ver Perfil WWW
Re: [AYUDA] unicodeencodeerror ascii codec can't encode character u\xf3
« Respuesta #3 en: 7 Abril 2015, 20:20 »

La próxima vez, cómo mínimo especifica el lenguaje al que te refieras, aquí no hay magos, trata de formular preguntas que todos sean capaces de entender ...saldrás ganando.

Evita utilizar tags del tipo "[AYUDA]" en el título del mensaje, los tags están para especificar el lenguaje o un resumen del propósito.

· Unicode HOWTO

Saludos
si lo siento elekro se me olvido especificarlo....

Si quieres convertir ese valor a Unicode, puedes probar con unichr

Saludos!

gracias lo intentare... el problema que este error me sucede por que estoy haciendo peticiones a un webservice y no se si aparezcan mas de estos caracteres raros... seria una solución temporal ya que solo se que hay un caracter u\xf3
En línea

ViejoMajara

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: [PYTHON][AYUDA] Problema con acentos y ñ
« Respuesta #4 en: 11 Abril 2015, 10:13 »

¡Hola!

Estoy estudiando Python y, cuando me encuentro con alguna cosa especial, voy tomando notas. Con relación a la ñ y los acentos escribí esto, que a lo mejor te puede ayudar.

Citar
Pruebas realizadas con print ‘niño llorón’ en DOS, Wing IDE e IDE de Python.
Recomiendan poner la primera línea y una cualquiera de las siguientes:
#!/usr/bin/env python
# -*- coding: Windows-1252 -*-
# -*- coding: cp1252 -*-
# -*- coding: utf-8 -*-
# -*- coding: IBM850 -*-

Pero tras muchas comprobaciones veo que poniendo sólo la última línea me sirve tanto para DOS como para el Wing IDE, pero me sale mal en el IDE de Python.  Si pongo sólo la segunda o la tercera línea funciona en el IDE de Python pero no en los otros dos. La primera línea sobra en todos los casos y la cuarta no me ha servido en ningún caso.

De todas formas, sigo leyendo e investigando todo lo que se vaya diciendo sobre este asunto.

Saludos
« Última modificación: 11 Abril 2015, 10:49 por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: [PYTHON][AYUDA] Problema con acentos y ñ
« Respuesta #5 en: 11 Abril 2015, 10:49 »

Citar
# -*- coding: Windows-1252 -*-
# -*- coding: cp1252 -*-

Si pongo sólo la segunda o la tercera línea funciona en el IDE de Python pero no en los otros dos.

1. Ambas "lineas" o codificaciones son la misma, el código de página o Codepage 1252 hace referencia al la misma codificación del alfabeto latino al que hace referencia Windows-1252, ya que son solo dos formas de referirse a lo mismo.

2. La codificación interna de la consola tiene un papel muy importante, para que puedas visualizar correctamente los caracteres latinos primero debes estar usando el código de página o codepage 850 (que es lo mismo que decir cp850 o IBM 850), guardar el archivo de tu script en codificación ANSI (windows-1252), declarar la codificación mostrar el string unicode y listo:

Código
  1. # -*- coding: Windows-1252 -*-
  2.  
  3. import sys
  4. print sys.stdout.encoding
  5.  
  6. print u"áéíóú àèìòù Ñ"

PD: el codepage de la CMD lo puedes modificar con el comando CHCP.

Saludos
« Última modificación: 11 Abril 2015, 10:58 por Eleкtro » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con Acentos en MySQL + PHP « 1 2 3 4 »
PHP
Skeletron 36 24,820 Último mensaje 14 Marzo 2010, 18:05
por Skeletron
Problema con ñ,Ñ, y acentos.
Programación C/C++
diegofah 4 1,726 Último mensaje 1 Septiembre 2014, 19:39
por ecfisa
Problema de inserat acentos en mysql « 1 2 »
Bases de Datos
yoelrodguez 18 6,876 Último mensaje 27 Junio 2015, 20:10
por WHK
No puedo usar acentos ni ñ en Python 2.7.7
Programación General
CeroZeta 3 2,866 Último mensaje 2 Septiembre 2016, 13:54
por class_OpenGL
[PYTHON] Acentos en ascii
Scripting
<Trocutor> 3 1,734 Último mensaje 18 Octubre 2017, 20:01
por <Trocutor>
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines