работа с lynx в терминале python + отображение испанских символов не работает

Я запрашиваю браузер lynx с URL-адресом и получаю вывод с терминала, но проблема в том, что вывод поступает с перуанского веб-сайта, а испанские символы неправильно отображаются на терминале. Я передаю флаги -assume_charset и -assume_unrec_charset вместе с моим вызовом URL-адреса, поэтому он должен заменить набор символов на тот, который я указываю, если веб-сайт не указывает его. И для обоих этих параметров я пробовал латиницу 1, латиницу 3 и латиницу 4, и ни один из них не работает. Я хотел бы знать, как я могу решить эту проблему. Я использую модуль подпроцесса python и передаю запрос lynx в качестве параметра в subprocess.Popen(...), а затем читаю вывод из STDOUT. Мой код следующий:

    import subprocess
def get_urlData(url):
    cmd = "lynx -dump -nolist -notitle -assume_charset =\"ISO-8859-1\" -assume_unrec_charset=\"ISO-8859-1\" "+url
    lynx = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    file_data = lynx.stdout.read()
    #file_data = file_data.decode('ISO-8859-1','replace')
    return file_data

Когда я сохраняю возвращенные данные file_data в объекте и пытаюсь распечатать его на терминале Python, следующая часть вывода, которую я получаю, я включаю, чтобы прояснить проблему:

Per\xedodo: Periodo de Gobierno 2006-2011. Законодательная власть: Primera\n Legislatura Ordinaria 2010\n N\xfamero: 04903/2010-CR Fecha Presentaciķn: 13.07.2011\n
Сторонник: Конгресс\n
Grupo Parlamentario: Multipartidario\n
T\xedtulo: LEY QUE EXTINGUE LA DEUDA TRIBUTARIA PROVENIENTE DE LA\n ВАЖНОĶN Y/O VENTA DE COMBUSTIBLE TURBO A1\n

ясно, что символ ķ должен быть каким-то другим испанским символом, но я не знаю, как заставить его отображаться на моем терминале. Любая помощь будет оценена по достоинству.


person anonuser0428    schedule 17.02.2013    source источник


Ответы (1)


Ķ и ķ - символы UTF, ваша кодировка в cmd - ISO-8859-1... у вас должна быть одинаковая кодировка символов.

person Ivan Cachicatari    schedule 15.08.2013