maigan02 发表于 2017-06-29 17:42

Python2处理中文dict的问题,求助

本帖最后由 maigan02 于 2017-06-29 17:44 编辑

# -*- coding:utf-8 -*-
import urllib2,urllib
import configparser
cf=configparser.ConfigParser()
cf.read('config.ini',encoding="utf-8-sig")

urlstring=cf.get('test','url')
dic={'username':cf.get('test','name'),'remark':cf.get('test','remark')}
data=urllib.urlencode(dic)
user_agent='Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1'
headers={'User-Agent':user_agent}
req= urllib2.Request(url=urlstring,data=data,headers=headers)


response = urllib2.urlopen(req)
现在的问题是config.ini中定义的name,remark都是中文,请求到服务器后dict的中文内容无法识别:dic={'username':u'\u9ad8\u680f\u8f66',,'remark':u'\u5907\u6ce8'}
请问,在不修改服务端的前提下,怎么修改这个请求内容,中文才能正常显示?




1......1 发表于 2017-06-29 22:21

加我们的群问效率更高,这个群是一群工程师组建的面向初学者的
Python Linux 学习群, qq 群号: 278529278 ,
Php Linux 学习群, qq 群号: 476648701 ,
非商业性质,拒绝广告,只接收真正想学这方面技术的朋友,交流学习,申请请说明来自 ChinaUnix

jelon521 发表于 2017-06-30 12:53

python2中list,dict等中,中文都是以16进制显示的,我觉得你可以用json把dict转化成str,然后服务器端再用json转回来

remark 发表于 2017-06-30 14:56

cf.get('test','name').encode('utf8')
不确定是否正确 try

maigan02 发表于 2017-06-30 15:48

回复 4# remark

一开始就试过了,不行的。
页: [1]
查看完整版本: Python2处理中文dict的问题,求助