Прежде всего, добро пожаловать в Stack Overflow!Во-вторых, вы можете решить свою проблему, используя Python 3 или, для Python 2, следуя тому, что сказано в этом ответе .
Но почему?
Ну, согласновышеупомянутый PEP 263 ,
Python по умолчанию будет использовать ASCII в качестве стандартной кодировки, если другие подсказки по кодированию не указаны.
И в PEP выможно увидеть то же, что говорится в упомянутом ответе, добавить строку # -*- coding: <encoding name> -*-
И почему Python 3 не затронут этой проблемой?Как сказано в здесь ,
Начиная с Python 3.0, тип str языка содержит символы Unicode (...)
Так что в этом нет необходимостидля добавления магического комментария coding
.
Более подробно о том, что полная статья в юникоде, ссылка на которую приведена выше, является отличным чтением, и, поскольку она является классической в StackOverflow, см. this .