I recently had to force the default encoding for one of our apps, QuoteRobot (Check it out if you write proposals, quotes or invoices). You can check the default encoding by opening the Python terminal and running:

import sys

My output is ascii. This can cause issues when working with strings containing weird ascii and unicode characters. Now you could use the unicode method, but I found it easier to set encoding for the entire program. Especially if its a large app.

Here’s how to do it. At the beginning of your main Python file, add the following:

import sys

You need the reload method so setdefaultencoding is found, otherwise you’ll get:

AttributeError: 'module' object has no attribute 'setdefaultencoding'

Thats it. Cheers.