Chinaunix

标题: Python2处理中文dict的问题,求助 [打印本页]

作者: 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

一开始就试过了,不行的。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2