diff -r 76bc92fb90c1 Lib/wsgiref/simple_server.py --- a/Lib/wsgiref/simple_server.py Thu Dec 13 15:44:18 2012 -0800 +++ b/Lib/wsgiref/simple_server.py Fri Dec 14 09:53:44 2012 +0100 @@ -82,7 +82,11 @@ else: path,query = self.path,'' - env['PATH_INFO'] = urllib.parse.unquote_to_bytes(path).decode('iso-8859-1') + enc_path = urllib.parse.unquote_to_bytes(path) + try: + env['PATH_INFO'] = enc_path.decode('utf-8') + except UnicodeDecodeError: + env['PATH_INFO'] = enc_path.decode('iso-8859-1') env['QUERY_STRING'] = query host = self.address_string()