UnicodeWarning: a comparação igual Unicode falhou ao converter os dois argumentos em Unicode
Sei que muitas pessoas encontraram esse erro antes, mas não consegui encontrar a solução para o meu problema.
Eu tenho um URL que eu quero normalizar:
url = u"http://www.dgzfp.de/Dienste/Fachbeitr%C3%A4ge.aspx?EntryId=267&Page=5"
scheme, host_port, path, query, fragment = urlsplit(url)
path = urllib.unquote(path)
path = urllib.quote(path,safe="%/")
Isso dá uma mensagem de erro:
/usr/lib64/python2.6/urllib.py:1236: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
res = map(safe_map.__getitem__, s)
Traceback (most recent call last):
File "url_normalization.py", line 246, in <module>
logging.info(get_canonical_url(url))
File "url_normalization.py", line 102, in get_canonical_url
path = urllib.quote(path,safe="%/")
File "/usr/lib64/python2.6/urllib.py", line 1236, in quote
res = map(safe_map.__getitem__, s)
KeyError: u'\xc3'
Tentei remover o indicador unicode "u" da string da URL e não recebo a mensagem de erro. Mas como posso me livrar do unicode automaticamente porque eu o li diretamente de um banco de dados.