Cela ressemble à un cas de double encodage ; Je n'ai pas beaucoup d'expérience avec Python, mais essayez d'ajuster les paramètres de connexion MySQL selon les conseils de http://tahpot.blogspot.com/2005/06/mysql-and-python-and-unicode.html
Ce que je suppose, c'est que la connexion est latin1, donc MySQL essaie de coder à nouveau la chaîne avant de la stocker dans le champ UTF-8. Le code ici, plus précisément ce bit :
est probablement ce que vous voulez.