Mi string "no sabe" que es utf-8

Hernán Martínez Foffani hernan en orgmf.com.ar
Mar Mayo 17 13:05:48 CEST 2005


> Tenemos una serie de strings en un campo de MySQL 4.1.7 que los leemos
> desde Python. La cuestión es que ya están almacenados como utf-8, pero
> al leerlos desde Python, se devuelven como si fueran strings.
> Es decir, YA están en utf-8, pero Python cree que están en ascii:

¿no se le puede decir al driver de mysql que devuelva cadenas
unicode?

  >>> print a
  móvil
  >>> print type(a)
  <type 'string'>

mmm... ¿no será <type 'str'> ?  ¿o el MySQL tiene otro tipo de
datos para cadenas?

> ¿Cómo decirle a Python que eso es ya Unicode y que lo trate como tal?

una vez que la instancia ya fue construida como 'str' no creo que puedas
cambiarla a 'unicode' sin destruirla:

  a = unicode(a, "utf8")

-H.




Más información sobre la lista de distribución Python-es