El día 7 de marzo de 2011 13:57, (P@vel) <pdlo...@uci.cu> escribió: > patrim = str(incident1.contents[15].contents[0]) > participes = str(incident1.contents[17].contents[0]) > vocacion = incident1.contents[5].contents[0]
Espero que no estes convirtiendo a string cosas que deberían ser unicode. El python3 nombra bien a las cosas. Piensa en str como arrays binarios y en unicode como en cadenas de caracteres. De todas formas, la manera idonea de convertir a cadenas es cosa_unicode.encode(encoding) y str(cosa_no_unicode). Por si acaso también está mal ese código también. > sql = "INSERT INTO `bolsa` (`id`, > `gestora`,`vocacion`,`fecha`,`ultimo`,patrim,`participes`) > VALUES(NULL,'%s','%s','%s','%s','%s','%s');" > %(gestora,vocacion,fecha,ultimo,patrim,participes) Cada vez que escribes una linea así Dios mata a un gatito: http://wiki.python.org/moin/DbApiFaq > conn.cursor.execute(sql) Pasa aquí los parámetros para el insert, nunca jamás construyas la sentencia sql con el operador %. Haciendo esa cutrez es fácil conseguir inyectar sql y hacerle todo tipo de maldades a tu base de datos. Repasa las conversiones a str de tu código, arregla la llamada a base de datos y si el problema persiste vuelve a escribir el código. Es probable que haciendo las cosas bien el driver de base de datos sea lo suficientemente listo como lidiar con problemas de seguridad, de encodings y evitaras que Dios mate gatitos ;-) De todas formas, tampoco vamos a poder probar tu código si no sabemos con que encoding trabaja tu base de datos. Si te vas a poner a mirarlo dale vuelta también a una cosa que las bb.dd. llaman collation y que sirve para ordenar de forma correcta las cadenas. Por ejemplo, que la ñ vaya entre la n y la o cuando hacemos algo en español. Saludos: Javi _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/