diff --git a/ckan/config/middleware.py b/ckan/config/middleware.py index 026cf02722f..15c092877e2 100644 --- a/ckan/config/middleware.py +++ b/ckan/config/middleware.py @@ -1,4 +1,5 @@ """Pylons middleware initialization""" +import urllib import logging from beaker.middleware import CacheMiddleware, SessionMiddleware @@ -177,7 +178,13 @@ def __call__(self, environ, start_response): # Current application url path_info = environ['PATH_INFO'] + # sort out weird encodings + path_info = '/'.join(urllib.quote(pce,'') for pce in path_info.split('/')) + qs = environ.get('QUERY_STRING') + # sort out weird encodings + qs = urllib.quote(qs, '') + if qs: environ['CKAN_CURRENT_URL'] = '%s?%s' % (path_info, qs) else: diff --git a/ckan/templates/layout_base.html b/ckan/templates/layout_base.html index 5039871d970..22ea24cd58b 100644 --- a/ckan/templates/layout_base.html +++ b/ckan/templates/layout_base.html @@ -184,7 +184,7 @@

Languages