背景:现写现查的 python 水平!
需求:把数据通过 post 方式提交到第三方的接口
问题:无法解决中文乱码的问题(找遍了 google...)
意思代码:
request = {}
request['key'] = key
request['timestamp'] = '134143154532'
request['token'] = 'fagfsfdgfds'
data = []
for i in users:
user = {
'name':'中文'+i
}
data.append(user)
request['data'] = data
request_encode = urllib.urlencode(request)
req = urllib2.Request(url=requestURL,data=request_encode)
res_data = urllib2.urlopen(req)
res = res_data.read()
print(res)
在打印 data 处就已经是 16 进制的格式了,传过去对方也说是乱码。
然后找了方式在 16 行前加上
reques = json.dumps(request,ensure_ascii=False)
然后打印 request 是能显示中文,但是 16 就报错了:
TypeError: not a valid non-string sequence or mapping object
请教到底怎么才能把中文给传过去。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.