Python写程序原则是所有进来的字符串(读文件,爬网页),一进来就decode,处理完之后在要输出的地方在encode。题主读入(read)和输出(print)在一行里,要在win下面想不出错就这么写
print response.decode('utf-8').encode('gbk')!
使用encode("utf8")或者encode("gbk")处理,参考:
Python | 多种编码文件(中文)乱码问题解决
http://jingyan.baidu.com/article/425e69e6e111a1be15fc1609.html