mercurial/templatefilters.py
branchstable
changeset 11765 aff419e260f9
parent 11297 d320e70442a5
child 11890 9dac951d0185
--- a/mercurial/templatefilters.py	Fri Aug 06 12:18:33 2010 -0500
+++ b/mercurial/templatefilters.py	Sat Aug 07 16:27:16 2010 +0900
@@ -156,9 +156,10 @@
     elif isinstance(obj, int) or isinstance(obj, float):
         return str(obj)
     elif isinstance(obj, str):
-        return '"%s"' % jsonescape(obj)
+        u = unicode(obj, encoding.encoding, 'replace')
+        return '"%s"' % jsonescape(u).encode('utf-8')
     elif isinstance(obj, unicode):
-        return json(obj.encode('utf-8'))
+        return '"%s"' % jsonescape(obj).encode('utf-8')
     elif hasattr(obj, 'keys'):
         out = []
         for k, v in obj.iteritems():