Problema con utf8 en mysqldb

Sonia Fas Millán al013193 en alumail.uji.es
Mie Dic 19 17:33:07 CET 2007


Precisamente ayer me tiré yo unas cuantas horas hasta que conseguí solucionar
esa historia y todavía no entiendo cómo ni por qué llegó a ir, pero te cuento
mi caso por si te sirve. 
En mi caso no es mysql sino sqlite. A mí me insertaba sin problemas los campos
de un formulario, luego hacías un select desde el prompt de la base de datos y
aparecían ahí los acentitos y las eñes todos bonicos. Pero cuando trataba de
imprimir con python las tablas me daba el error que te da a tí, pese a tener en
la cabecera lo de 
# -*- coding: utf-8 -*-

Al final ésto me fue bien:

str = variable.encode("utf-8"), donde variable contiene el campo de texto de la
base y ya se imprimía str sin problemas.

Pero luego en otra función en la que hacía exactamente lo mismo, imprimir campos
de la base de datos que tenían acentos y eñes, eso no me iba. ?_? Para ponerte
en situación lo que yo hago en ambas funciones es construir una cadena tocha de
html que se manda a imprimir (es django, todo esto), por lo que a la hora de ir
pegando cosas a esa cadena tengo que ir haciendo cadena+="bla"+str(variable).
Pues bien, en esa segunda función la variable con el campo del formulario que
contenía acentos la pegaba a la cadena de esa forma, y no iba, me daba tu
error. Hacer lo del encode no lo solucionaba. Al final va y por probar ya
desesperadamente le quito el str y va. o_o

Bueno, espero que te sirva de algo. 

Un saludo



_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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