unidecode tries to turn things into ascii? why not string.decode('utf-8') ?