From f3bb93d2545ab104fdef5bfaaa98cc0b33f40397 Mon Sep 17 00:00:00 2001 From: huxuan Date: Mon, 10 Nov 2014 23:52:25 +0800 Subject: [PATCH 1/2] Use cchardet to detect the encoding before decode. --- pythonwhois/net.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pythonwhois/net.py b/pythonwhois/net.py index 53f87ba..1eab102 100644 --- a/pythonwhois/net.py +++ b/pythonwhois/net.py @@ -1,6 +1,7 @@ import socket, re, sys from codecs import encode, decode from . import shared +import cchardet def get_whois_raw(domain, server="", previous=None, rfc3490=True, never_cut=False, with_server_list=False, server_list=None): previous = previous or [] @@ -91,4 +92,5 @@ def whois_request(domain, server, port=43): if len(data) == 0: break buff += data - return buff.decode("utf-8") + encoding = cchardet.detect(buff)['encoding'] + return buff.decode(encoding) From e47ae45bb31211b2e871251ca7c7c864db5b661e Mon Sep 17 00:00:00 2001 From: huxuan Date: Mon, 10 Nov 2014 23:53:22 +0800 Subject: [PATCH 2/2] Make tox passed. --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index cd1c703..f6bb2c7 100644 --- a/tox.ini +++ b/tox.ini @@ -2,6 +2,7 @@ envlist = py26,py27,py33 [testenv] +deps = cchardet usedevelop = True setenv = VIRTUAL_ENV={envdir} commands = python test.py run all