首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Urllib2.urlopen python中文在windows中

Urllib2.urlopen python中文在windows中
EN

Stack Overflow用户
提问于 2014-01-05 15:53:46
回答 1查看 634关注 0票数 0

我在用蟒蛇做一张小纸条。目标是向返回Json文件并处理信息的页面发出请求。问题是我需要在urls中处理中文单词。当我提出请求时(例如):

代码语言:javascript
复制
f = urllib2.urlopen("http://maps.googleapis.com/maps/api/geocode/json?address=江苏省苏州市中国新加坡工业园区独墅湖科教创新区仁爱路111号&sensor=false")

在ubuntu,我没有问题,一切都很好,并给我crrect文件。但是当我在Windows中尝试时,resquest失败了(告诉我url不存在)。urllib2窗口中的中文字符有问题吗?

windows的版本是7,ubuntu12.4。我用的是python 2.7

谢谢!

马科斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-05 19:59:48

您应该对查询进行urlencode:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
from urllib import urlencode
from urllib2 import urlopen

params = dict(address=u"我不知道中国人。", sensor="false")
query = urlencode([(k, v.encode('utf-8') if isinstance(v, unicode) else v)
                   for k, v in params.items()])
r = urlopen("http://maps.googleapis.com/maps/api/geocode/json?" + query)
# ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20935620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档