Foros del Web » Programando para Internet » Python »

python, mysql, y el simbolo €

Estas en el tema de python, mysql, y el simbolo € en el foro de Python en Foros del Web. Hola, tengo un problema, estoy haciendo un script en python, y tengo que subir datos a una base de datos mysql, al principio me daba ...
  #1 (permalink)  
Antiguo 30/07/2010, 04:32
 
Fecha de Ingreso: junio-2010
Mensajes: 29
Antigüedad: 13 años, 10 meses
Puntos: 0
python, mysql, y el simbolo €

Hola, tengo un problema, estoy haciendo un script en python, y tengo que subir datos a una base de datos mysql, al principio me daba problemas con los acento y algunos caracteres especiales, que en la bbdd se veian mal, pero lo solucione asi:

Código python:
Ver original
  1. string = string.decode('utf-8')
  2. cursor.execute(string)

siendo string una variable que contiene una instruccion sql, valida pero con caracteres de variables especiales, el problema esta cuando tiento ingresar este caracter €, el decode no se queja, es mas si hago print me lo hace bien, se queja en el execute...., y en principio tampoco es problema de que la bbdd no hacepte el € ya que desde el phpmyadmin, si que le puedo ingresar el caracter €, asi que no se donde esta el problema....

Espero que alguien pueda guiarme gracias!!!

Última edición por AlvaroG; 30/07/2010 a las 12:31 Razón: highlight
  #2 (permalink)  
Antiguo 30/07/2010, 07:20
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 6 meses
Puntos: 890
Respuesta: python, mysql, y el simbolo €

Quizas lo puedas solucionar poniendo en la cabezera del archivo(en linux hace que el script me acepte los caracteres acentuados/especiales) no Se si funcionara en Windows de la misma manera.

#!/usr/bin/python
# -*- coding: utf-8 -*-
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 30/07/2010, 12:33
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: python, mysql, y el simbolo €

¿Qué es 'se queja'? ¿Cómo recibís la entrada?

La sugerencia de NUCKLEAR es válida, la línea 'coding' indica a python la codificación del archivo. (la primera no sirve en Windows)


Saludos.
  #4 (permalink)  
Antiguo 30/07/2010, 12:36
 
Fecha de Ingreso: junio-2010
Mensajes: 29
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: python, mysql, y el simbolo €

Que se queja significa que me dice que EncodeError, que sengun el latin-1 ese caracter no esta, y esa linea ya la tengo, encima me dice todo eso cuando hago la instrucion execute... asi que no se
ha hecho un replace '€' por 'Euro'...
  #5 (permalink)  
Antiguo 30/07/2010, 12:51
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: python, mysql, y el simbolo €

Según lo poco que busqué y encontré (ejemplo: http://bytes.com/topic/python/answer...racter-u-u2013), el problema puede estar dándose porque tu base de datos codifica el texto con latin1, u otra codificación que no es UTF-8. Al hacer la consulta hay una conversión automática de codificación involucrada, y parece ser esa la causa. ¿es posible que cambies la codificación de la base a UTF-8? ¿o cambiar la codificación de la cadena a la misma que tenga la base?


Saludos.

Etiquetas: mysql, simbolo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:48.