На веб-сайте у меня есть слово pluș
, отправленное через POST для просмотра в Django.
Отправляется как plu%25C8%2599
. Поэтому я взял эту строку и попытался выяснить, как сделать %25C8%2599
обратно в ș
.
Я попытался расшифровать строку следующим образом:
from urllib import unquote_plus
s = "plu%25C8%2599"
print unquote_plus(unquote_plus(s).decode('utf-8'))
В результате я получаю pluÈ
, который на самом деле имеет длину 5, а не 4.
Как получить исходную строку pluș
после того, как она закодирована?
редактирование:
Мне удалось сделать это так
def js_unquote(quoted):
quoted = quoted.encode('utf-8')
quoted = unquote_plus(unquote_plus(quoted)).decode('utf-8')
return quoted
Это выглядит странно, но работает так, как мне нужно.