Menu

#1696 Python3: EscapeParams iso-8859-1 Fix

Approved
open
nobody
None
5
5 days ago
5 days ago
Al von Ruff
No

In library.py, EscapeParams() uses urllib.quote() to escape the input parameters for URL printing. urllib.quote(), however, is deprecated under Python3, with the expectation that urllib.parse.quote() is used instead.

Problem: unless specified, urllib.parse.quote() defaults to UTF-8. This makes 'Show All Titles' in the navbar use UTF-8 instead of iso-8859-1. So EscapeParams() is changed so:

                    param0 = param[0].encode("iso-8859-1")
                    param1 = param[1].encode("iso-8859-1")
                    param_string += '&%s=%s' % (urllib.parse.quote(param0), urllib.parse.quote(param1))

Discussion

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB