Index: forms.py
===================================================================
--- forms.py	(revision 5481)
+++ forms.py	(working copy)
@@ -6,7 +6,7 @@
 
 from django.utils.datastructures import SortedDict
 from django.utils.html import escape
-from django.utils.encoding import StrAndUnicode
+from django.utils.encoding import StrAndUnicode, smart_unicode
 
 from fields import Field
 from widgets import TextInput, Textarea
@@ -133,7 +133,7 @@
                 else:
                     label = ''
                 if field.help_text:
-                    help_text = help_text_html % field.help_text
+                    help_text = help_text_html % smart_unicode(escape(field.help_text))
                 else:
                     help_text = u''
                 output.append(normal_row % {'errors': bf_errors, 'label': label, 'field': unicode(bf), 'help_text': help_text})
@@ -300,7 +300,7 @@
         id_ = widget.attrs.get('id') or self.auto_id
         if id_:
             attrs = attrs and flatatt(attrs) or ''
-            contents = '<label for="%s"%s>%s</label>' % (widget.id_for_label(id_), attrs, contents)
+            contents = '<label for="%s"%s>%s</label>' % (widget.id_for_label(id_), attrs, smart_unicode(contents))
         return contents
 
     def _is_hidden(self):
