Dit lijkt een geval van dubbele codering; Ik heb niet veel ervaring met Python, maar probeer de MySQL-verbindingsinstellingen aan te passen volgens het advies op http://tahpot.blogspot.com/2005/06/mysql-and-python-and-unicode.html
Wat ik vermoed dat er gebeurt, is dat de verbinding latin1 is, dus MySQL probeert de string opnieuw te coderen voordat deze wordt opgeslagen in het UTF-8-veld. De code daar, specifiek dit stukje:
is waarschijnlijk wat je wilt.