Hola a todos,
Estoy trabajando en un script de pyhton que utiliza mysql, y tengo un problema con el tema de los caracteres especiales, que en la base de datos me aparecen mal.
Lo soluciono, convirtirndo los string a unicode por ejemplo:
string = u'ºªà'
esto me da bien, y se queda perfecto en la base de datos, pero esto no lo puedo hacer, ya que mis strings no los conozco, por lo tanto deberia hacer algo del estilo
string = unicode(string)
Pero utilixando el string anterior, me salta un error.
Haber si alguien podria ayudarme, Gracias
Saludos!!
Que error te da? ¿Python 2.6 verdad? (es que no tengo para probar con esa versión)
Saludos
Lo probe, tengo Python 2.6.5
Traceback (most recent call last):
File "C:\Python26\some.py", line 6, in <module>
print '%s' % Unicode(String)
File "C:\Python26\some.py", line 2, in Unicode
String = unicode(String)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xba in position 2: ordinal not in range(128)
Ahora me estoy por ir, pero dejo el error que sale. Luego vere si te lo corrigo
PD: probastes con la 3 de Python?
Y si cambias la codificación por defecto del script?
# coding=utf-8
Eso en la primera línea del script, y luego no uses unicode para convertir, solo pon el string.
Saludos
si lo haces asi, poniendo utf-8 al principio y ya esta, la bbdd lo reconoce como un caracter estranyo, como si pones un à, que te salen cosas raras en la bbdd, pero con el encode eso se soluciona, pero se be que el € se anyadoi mas tarde y esta en la tabla latin-9 o algo por el estilo...
Me dejado de investigar en el tema y he ehcho un repalce de '€', por 'Euro' y ya esta...
Mercy