- January 20, 2008
- escape htmlentities ascii
- 3 (after 3 ratings)
The built-in escape filter only works with certain characters. It works great in environments where you can declare your charset (UTF-8). However, not everything can handle anything outside of the ASCII charset.
This replaces all non-ASCII characters with their encoded value as
® for ®, for example.
1 2 3 4 5 6 7 8 9 10 11
from django import template from django.utils.html import escape from django.utils.safestring import mark_safe register = template.Library() @register.filter() def htmlentities(s): return mark_safe(escape(s).encode('ascii', 'xmlcharrefreplace'))