UnicodeWarning: при сопоставлении Unicode не удалось преобразовать оба аргумента в Unicode
Я знаю, что многие люди сталкивались с этой ошибкой раньше, но я не мог найти решение своей проблемы.
У меня есть URL, который я хочу нормализовать:
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="%/")
Это дает сообщение об ошибке:
/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'
Я попытался удалить индикатор Unicode "U" из строки URL, и я не получаю сообщение об ошибке. Но как я могу избавиться от Unicode автоматически, потому что я читаю его непосредственно из базы данных.