Ответ 1
В заголовке исходного кода вы можете объявить:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
....
Это описано в PEP 0263:
Тогда вы можете использовать UTF-8 в строках:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
u = 'idzie wąż wąską dróżką'
uu = u.decode('utf8')
s = uu.encode('cp1250')
print(s)
Это объявление не требуется в Python 3, поскольку UTF-8 является исходной кодировкой по умолчанию (см. PEP 3120).
Кроме того, возможно, стоит проверить, что ваш текстовый редактор правильно кодирует ваш код в UTF-8. В противном случае у вас могут быть невидимые символы, которые не интерпретируются как UTF-8.