Как правильно хранить и отображать специальные символы в Django? - PullRequest
0 голосов
/ 19 июля 2011

Я анализирую некоторый HTML-код с помощью Beautiful Soup, и иногда возвращаемый HTML-код содержит некоторые специальные символы, такие как — (длинная черта) и ® (символ регистра).

I 'В настоящее время я храню этот html как строку в моей базе данных как есть, и в результате, когда я отображаю эти переменные в моих шаблонах, появляются специальные символы, как и выше.Я пытался удалить символы, используя {{variable | safe}}, но это не сработало.

Как правильно хранить и отображать специальные типы символов в Django?

1 Ответ

1 голос
/ 19 июля 2011

То, что вы ищете, находится здесь: http://www.crummy.com/software/BeautifulSoup/documentation.html#Entity Преобразование

Вы хотите использовать параметр convertEntities и кодировать их как Unicode.

Последняя строка должна выглядеть примерно так:

decodedString=unicode(BeautifulStoneSoup(encodedString,convertEntities=BeautifulStoneSoup.HTML_ENTITIES)

Чтобы отобразить их снова

"Your string with a long dash in it".encode('ascii', 'xmlcharrefreplace')
...