我是一个python小白,最近在模拟微信的web协议,无聊练练,然后碰到中文乱码的问题,看文档问谷歌,弄了一天了也无果,所以请教大家。
相关描述
我借助的是requests来作get、post请求,创建了一个session全程使用,我这次请求返回的是一个json,
当我打印原文(response.text)的时候中文显示如下:

36æ°ª(36Kr.com)æ¯ä¸å½é¢å
çç§ææ°åªä½ï¼æä»¬æ¥éææ°çäºèç½ç§ææ°é»ä»¥åæææ½åçäºèç½åä¸ä¼ä¸ã
进行json解析后(response.json())貌似已经变成unicode编码的ascii,打印的结果中文是这样的:

u'36\xe6\xb0\xaa(36Kr.com)\xe6\x98\xaf\xe4\xb8\xad\xe5\x9b\xbd\xe9\xa2\x86\xe5\x85\x88\xe7\x9a\x84\xe7\xa7\x91\xe6\x8a\x80\xe6\x96\xb0\xe5\xaa\x92\xe4\xbd\x93\xef\xbc\x8c\xe6\x88\x91\xe4\xbb\xac\xe6\x8a\xa5\xe9\x81\x93\xe6\x9c\x80\xe6\x96\xb0\xe7\x9a\x84\xe4\xba\x92\xe8\x81\x94\xe7\xbd\x91\xe7\xa7\x91\xe6\x8a\x80\xe6\x96\xb0\xe9\x97\xbb\xe4\xbb\xa5\xe5\x8f\x8a\xe6\x9c\x80\xe6\x9c\x89\xe6\xbd\x9c\xe5\x8a\x9b\xe7\x9a\x84\xe4\xba\x92\xe8\x81\x94\xe7\xbd\x91\xe5\x88\x9b\xe4\xb8\x9a\xe4\xbc\x81\xe4\xb8\x9a\xe3\x80\x82'
json解析后是一个dict,当我单独打印键值的时候中文显示是:

36æ°ª(36Kr.com)æ¯ä¸å½é¢å
çç§ææ°åªä½ï¼æä»¬æ¥éææ°çäºèç½ç§ææ°é»ä»¥åæææ½åçäºèç½åä¸ä¼ä¸ã
问题来了
- 我获取的返回头部可知就是个纯文本
{'connection': 'close', 'content-type': 'text/plain', 'content-length': '14315', 'content-encoding': 'deflate'}
- 手动得中文内容

我该如何正确的打印这个中文内容或者该如何与已知中文字符串比较,我的环境是
- ubuntu14.04,
- python2.7.6(系统自带的,需要换上python3吗??),
- sys.getdefaultencoding()是‘ascii’,换成‘utf-8’后也是如上所述
为了解决这个问题,我特地看了微信的web前端js关于那一段的请求处理,表示水平有限没发现什么。
请大家帮忙解释一下上述原因,或者给个处理中文的思路!!