Index: /www-libs/django/django/template/defaultfilters.py
===================================================================
--- /www-libs/django/django/template/defaultfilters.py	(revision 4300)
+++ /www-libs/django/django/template/defaultfilters.py	(working copy)
@@ -19,7 +19,11 @@
 
 def capfirst(value):
     "Capitalizes the first character of the value"
-    value = str(value)
+    if isinstance(value, str):
+        # convert to unicode string
+        value = unicode(value, settings.DEFAULT_CHARSET)
+    elif not isinstance(value, basestring):
+        value = unicode(value)
     return value and value[0].upper() + value[1:]
 
 def fix_ampersands(value):
