【发布时间】:2011-07-11 14:05:46
【问题描述】:
我的网站上有一些可爱的(斯堪的纳维亚?)用户抱怨网址中的 I cannot parse his username,因此我在我网站上的页面上没有向他显示任何结果。
我很确定浏览器将请求编码为 http://councilroom.com/player?player=G%C3%B6rling
我想让播放器字符串成为 Görling 而不是正在转换为的 Görling。
我在 python 2.6 中使用 web.py 并尝试如下解析 URL
parsed_url = urlparse.urlparse(web.ctx.fullpath)
query_dict = dict(urlparse.parse_qsl(parsed_url.query))
target_player = query_dict['player']
编辑:在 unutbu 的帮助下,我通过将其更改为来解决此问题
query_dict = dict(urlparse.parse_qsl(web.ctx.env['QUERY_STRING']))
target_player = query_dict['player'].decode('utf-8')
我认为 webpy 以某种方式错误地解析了 web.ctx 中的完整路径,但 QUERY_STRING 变量并未受到干扰。
【问题讨论】:
标签: python web.py utf8-decode urlparse