summaryrefslogtreecommitdiff
path: root/django/utils/encoding.py
diff options
context:
space:
mode:
authorJoseph Kocherhans <joseph@jkocherhans.com>2007-11-30 05:50:44 +0000
committerJoseph Kocherhans <joseph@jkocherhans.com>2007-11-30 05:50:44 +0000
commitf88babafc58eafece72d3f2f7444336c69196808 (patch)
tree0f52526851e157511d3c94140b979c0c2a8af079 /django/utils/encoding.py
parentc82b2becf2bffe8ad18827b80a6c12433f799660 (diff)
newforms-admin: Merged trunk revision [6671].
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@6776 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/utils/encoding.py')
-rw-r--r--django/utils/encoding.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/django/utils/encoding.py b/django/utils/encoding.py
index 4bda9caa50..2ab0db7432 100644
--- a/django/utils/encoding.py
+++ b/django/utils/encoding.py
@@ -3,6 +3,7 @@ import urllib
import datetime
from django.utils.functional import Promise
+from django.utils.safestring import SafeData, mark_safe
class DjangoUnicodeDecodeError(UnicodeDecodeError):
def __init__(self, obj, *args):
@@ -51,7 +52,10 @@ def force_unicode(s, encoding='utf-8', strings_only=False, errors='strict'):
else:
s = unicode(str(s), encoding, errors)
elif not isinstance(s, unicode):
- s = unicode(s, encoding, errors)
+ # Note: We use .decode() here, instead of unicode(s, encoding,
+ # errors), so that if s is a SafeString, it ends up being a
+ # SafeUnicode at the end.
+ s = s.decode(encoding, errors)
except UnicodeDecodeError, e:
raise DjangoUnicodeDecodeError(s, *e.args)
return s