我有一个用url编码的URL,即:/filebrowser/?cd=bank/fran%E7ais/essais
问题是,如果我通过以下方法检索论点:
path = request.GET.get('relative_h', None)我得到:
/filebrowser/?cd=bank/fran�ais/essais而不是:
/filebrowser/?cd=bank/français/essais或:
/filebrowser/?cd=bank/fran%E7ais/essais然而,%E7确实与“那里”相对应,正如您可以看到的那样。
由于%E7是用替换字符解码的,我甚至不能使用urllib.parse.unquote来拿回我的‘use’.
是否有方法获得原始参数或正确解码的字符串?
发布于 2018-06-12 14:58:15
在本地运行示例时,在访问参数之前将请求编码切换到latin-1返回正确解码的字符串。
request.encoding = 'latin-1'
path = request.GET.get('relative_h', None)但是,我无法告诉您为什么会这样,因为我会假设utf-8的默认编码会处理这个特定的字符。
https://stackoverflow.com/questions/50814870
复制相似问题