Nie udało się zdekodować treści odpowiedzi za pomocą IdHttp

Używam TIdHttp do pobierania treści internetowych. Nagłówek odpowiedzi wskazuje, że kodowanie treści ma być utf8. Chcę drukować zawartość w konsoli jako CP936 (uproszczony język chiński), ale rzeczywista zawartość nie jest czytelna.

Result := TEncoding.Utf8.GetString(ResponseBuffer);

Robię to samo w pythonie (używając httplib2) bez żadnych problemów.

def python_try():
    conn = httplib2.HttpConn()
    respose, content = conn.get(...)
    print content.decode('utf8') # readable in console

AKTUALIZACJA 1

Debugowałem surową odpowiedź i zauważyłem, że zawartość jest gzipowana.

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Mon, 24 Dec 2012 15:27:44 GMT
Connection: Keep-Alive

Próbowałem przypisać instancję IdCompressorZLib do instancji IdHttp. Niestety aplikacja ulegnie awarii podczas dekompresji zawartości gzip. Adres testowy to „http: //www.baidu.com” (kodowanie = gb2312).

AKTUALIZACJA 2

Próbowałem także pobrać plik skryptu gzipped jquery, który zawiera tylko znaki ascii. Tym razem działa, co oznacza problem z biblioteką Indy. Gdybym się nie mylił, powinienem zamknąć pytanie.

questionAnswers(2)

yourAnswerToTheQuestion