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
 sys.getdefaultencoding()

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
reload(sys)
sys.setdefaultencoding('utf-8')

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

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

Thats it. Cheers.