LINUX.ORG.RU

Python и unicode


0

0

День добрый.

Нужна небольшая помощь по Питону, суть проблемы в том, что не могу вывести читабельно кириллический текст полученный от гугла. Локаль UTF-8. Вот скрипт:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import httplib

dic_domain = "translate.google.ru"
dic_request = "/translate_a/t?client=t&text=%s&sl=%s&tl=%s&pc=1&oc=1"

conn = httplib.HTTPConnection(dic_domain)
conn.request("GET", dic_request % ("table", "en", "ru",))
resp = conn.getresponse()

print resp.status, resp.reason

data = resp.read()
conn.close()

print data.unicode(????)

Вместо ???? пробовал разные кодировки, но все равно выводится нечитабельная лабуда. Как исправить данный изъян?

★★★★★

Re: Python и unicode

print unicode(data, 'koi8-r')
vden ★★ ()
Ответ на: Re: Python и unicode от vden

Re: Python и unicode

Например так:

encoding = resp.getheader('Content-type').split('=')[1]
print unicode(data, encoding)

PS. Извините за много постов подряд.

vden ★★ ()
Ответ на: Re: Python и unicode от vden

Re: Python и unicode

Премного благодарен. Работает.

Просто дело в том что я смотрел firebug'ом и он показывает хедер
Content-Type text/plain; charset=UTF-8
Что за шутки такие...

urxvt ★★★★★ ()
Ответ на: Re: Python и unicode от urxvt

Re: Python и unicode

> Просто дело в том что я смотрел firebug'ом и он показывает хедер
> Content-Type text/plain; charset=UTF-8


а ты в реквесте добавляй хеадер
Accept-Charset: utf-8
и т.п.

pawnhearts ★★★★★ ()
Ответ на: Re: Python и unicode от urxvt

Re: Python и unicode

Content-Type может быть установлен как минимум в двух местах - можно в .htaccess прописать Content-Type text/plain; charset=UTF-8, а в теле страниц писать Content-Type text/plain; charset=koi8-r. При таком раскладе бывает лаже )

devinull ★★ ()
Ответ на: Re: Python и unicode от devinull

Re: Python и unicode

> При таком раскладе бывает лаже )
думаю в гугле не такие хомячки, да и вряд ли у них апач

pawnhearts ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.