Во-первых, для предотвращения проблем, подобных той, которая указана в вопросе, вы не должны когда-либо использовать другую кодировку, чем utf-8
для исходного кода Python.
Это правильный заголовок для использования
#! /usr/bin/env python
# -*- coding: utf-8 -*-
Теперь вам нужно преобразовать файл из любой кодировки в utf-8
, возможно, ваш текущий текстовый редактор сможет это сделать.
Если вы удивляетесь, почему я говорю это, помните, что для текстового редактора невозможно безошибочно угадать вашу не-юникодную кодировку, потому что нет спецификации для не-юникодного кода. По этой причине большинство приличных редакторов используют UTF-8 по умолчанию, даже если кодировка не указана. И кстати, кодировка, указанная в заголовке файла python, предназначена только для Python, большинство редакторов игнорируют то, что вы там написали.
Кроме того, как вы можете видеть, Python пытается декодировать символ выше 128, используя ASCII
(не latin-1
), это должно завершиться неудачей. Я не уверен, почему это происходит, но мне даже наплевать, потому что есть гораздо лучший способ решить проблему.