Index: /www-libs/django/django/newforms/util.py
===================================================================
--- /www-libs/django/django/newforms/util.py	(revision 4451)
+++ /www-libs/django/django/newforms/util.py	(working copy)
@@ -7,7 +7,10 @@
 
 def smart_unicode(s):
     if not isinstance(s, basestring):
-        s = unicode(str(s))
+        if hasattr(s, '__unicode__'):
+            s = unicode(s)
+        else:
+            s = unicode(str(s), settings.DEFAULT_CHARSET)
     elif not isinstance(s, unicode):
         s = unicode(s, settings.DEFAULT_CHARSET)
     return s
