This allows us to at least control the kind of string expected by different python modules to utf-8, so we don't have to constantly test and convert the text back to ascii(which can still blow up with unicode characters).

This might not be the best approach and I am not exactly sure about the overall impact(therefore the **needs further testing** line in the pull description).