I realized I was maybe a bit inflamatory in that other post's title. Python Unicode doesn't suck. Except in one big way, that I explain in that post. I know a lot of thought went into Python's Unicode support; while it misses the mark in this one way, it gets a lot of things right. In fact, if it didn't get those things right, I don't think the sys.setdefaultencoding hack would work as well as I think it will. It's only so frustrating because it's so close!