Javascript与Python的URL编码/解码问题

2 投票
1 回答
2251 浏览
提问于 2025-04-15 16:36

你好,我在处理Python和JavaScript之间的URL编码时遇到了一些问题,希望你能帮我一下 :S

JavaScript代码:

encodeURIComponent('lôl');
-> "l%C3%B4l"

Python代码:

import urllib
test = container.REQUEST.form.get('test')
print test
print urllib.unquote(test)
-> "lÃŽl"
-> "lÃŽl"

JavaScript会把“lôl”编码两次,而Python只编码一次。我不知道该怎么解决这个问题,因为我通过Prototype的HTTP GET请求接收到的总是“l%C3%B4l”,而不是“l%F4l”。

最好的问候,

Bny

**编辑:这是在一个zope网络服务器上。

1 个回答

1

zope已经对这个网址进行了解码,问题在于你得到的是一个utf-8的字节串,而你在一个不是utf-8的终端上打印它。试着对这个字符串进行解码。

x = 'l\xc3\xb4l'
unicode_x = x.decode('utf-8')
print unicode_x

撰写回答