diff --git a/rhodecode/lib/diffs.py b/rhodecode/lib/diffs.py --- a/rhodecode/lib/diffs.py +++ b/rhodecode/lib/diffs.py @@ -44,6 +44,7 @@ from rhodecode.lib.vcs.nodes import File from rhodecode.lib.vcs.backends.base import EmptyChangeset from rhodecode.lib.helpers import escape from rhodecode.lib.utils import make_ui +from rhodecode.lib.utils2 import safe_unicode def wrap_to_table(str_): @@ -214,7 +215,7 @@ class DiffProcessor(object): self.adds += 1 elif l.startswith('-') and not l.startswith('---'): self.removes += 1 - return l.decode('utf8', 'replace') + return safe_unicode(l) output = list(diffiterator) size = len(output) diff --git a/rhodecode/lib/vcs/utils/diffs.py b/rhodecode/lib/vcs/utils/diffs.py --- a/rhodecode/lib/vcs/utils/diffs.py +++ b/rhodecode/lib/vcs/utils/diffs.py @@ -13,6 +13,7 @@ from mercurial.match import match from rhodecode.lib.vcs.exceptions import VCSError from rhodecode.lib.vcs.nodes import FileNode, NodeError +from rhodecode.lib.vcs.utils import safe_unicode def get_udiff(filenode_old, filenode_new, show_whitespace=True): @@ -149,7 +150,7 @@ class DiffProcessor(object): self.adds += 1 elif l.startswith('-') and not l.startswith('---'): self.removes += 1 - return l.decode('utf8', 'replace') + return safe_unicode(l) output = list(diffiterator) size = len(output)