В Python 3 urllib.quote
был перенесен в urllib.parse.quote
, и он обрабатывает unicode по умолчанию.
>>> from urllib.parse import quote
>>> quote('/test')
'/test'
>>> quote('/test', safe='')
'%2Ftest'
>>> quote('/El Niño/')
'/El%20Ni%C3%B1o/'