Краткий ответ:
# -*- coding: utf-8 -*-
print u"Español\nPortuguês\nItaliano".encode('utf-8')
Первая строка сообщает Python, что ваш файл закодирован в UTF-8 (ваш редактор должен использовать те же настройки), и эта строка всегда должна быть в начале вашего файла.
Другое дело, что Python 2 знает два разных объекта basestring
- str
и unicode
.Префикс u
создаст такой объект Unicode вместо объекта str по умолчанию, который затем можно кодировать как UTF-8 (но печать объектов Unicode напрямую также должна работать).