Как уже упоминалось в спецскопе, во-первых, вы должны добавить это в качестве первой строки вашей программы:
# -*- coding: utf-8 -*-
Если вы этого не сделаете, вы получите ошибку, которая выглядит примерно так:
SyntaxError: Non-ASCII character '\xc3' in file /tmp/blah.py on line 10,
but no encoding declared; see http://www.python.org/peps/pep-0263.html
for details
Пока все хорошо. Теперь вы должны убедиться, что каждая строка, которая содержит что-либо, кроме простого ASCII, имеет префикс u
:
print u'Importação de petróleo'
Но есть еще один шаг. Это отдельная тема, но есть вероятность, что вам придется в конечном итоге re -кодировать эту строку, прежде чем отправить ее в stdout
или файл.
Вот практические правила для Unicode в Python:
- Если это вообще возможно, убедитесь, что любые данные, с которыми вы работаете, находятся в UTF-8.
- Когда вы читаете внешние данные в кодировке UTF-8 в вашу программу, немедленно декодируйте их в Unicode.
- Когда вы отправляете данные из вашей программы (в файл или
stdout
), убедитесь, что вы перекодировали их как UTF-8.
Кстати, все это меняется в Python 3.