Javascript与Python的URL编码/解码问题
你好,我在处理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