code: def url_fix(s, charset='utf-8'):
      r
      if isinstance(s, unicode):
          s = s.encode(charset, 'replace')
      scheme, netloc, path, qs, anchor = _safe_urlsplit(s)
      path = _quote(path, '/%')
      qs = _quote_plus(qs, ':&%=')
      return urlparse.urlunsplit((scheme, netloc, path, qs, anchor))
docs: r"""Sometimes you get an URL by a user that just isn't a real URL because
      it contains unsafe characters like ' ' and so on.  This function can fix
      some of the problems in a similar way browsers handle data entered by the
      user:
  
      >>> url_fix(u'http://de.wikipedia.org/wiki/Elf (Begriffskl\xe4rung)')
      'http://de.wikipedia.org/wiki/Elf%20%28Begriffskl%C3%A4rung%29'
  
      :param s: the string with the URL to fix.
      :param charset: The target charset for the URL if the url was given as
                      unicode string.