Проблема в том, что сервер возвращает данные, сжатые Gzip.Попробуйте это:
#-*- coding: utf-8 -*-
from __future__ import print_function
import gzip
import StringIO
import urllib2
from BeautifulSoup import BeautifulSoup
url = 'http://iccna.blog.sohu.com/164572951.html'
response = urllib2.urlopen(url)
data = response.read()
data = StringIO.StringIO(data)
gzipper = gzip.GzipFile(fileobj=data)
html = gzipper.read()
soup = BeautifulSoup(html, fromEncoding='gbk')
print(soup)
В моей системе китайские иероглифы по-прежнему выглядят неправильно, но это может дать вам правильное направление.