From cf01a5b969e7537d3faf58d0edfb25dce8f186a6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 14 Dec 2014 12:35:53 +0530 Subject: [PATCH] Handle spurious encoding match when detecting encoding for diff --- src/calibre/gui2/tweak_book/diff/main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/tweak_book/diff/main.py b/src/calibre/gui2/tweak_book/diff/main.py index 9e8022868f..e747184780 100644 --- a/src/calibre/gui2/tweak_book/diff/main.py +++ b/src/calibre/gui2/tweak_book/diff/main.py @@ -108,9 +108,11 @@ def get_decoded_raw(name): if syntax in {'html', 'xml'}: raw = xml_to_unicode(raw, verbose=True)[0] else: - m = re.search(r"coding[:=]\s*([-\w.]+)", raw[:1024], flags=re.I) + m = re.search(br"coding[:=]\s*([-\w.]+)", raw[:1024], flags=re.I) if m is not None and m.group(1) != '8bit': enc = m.group(1) + if enc == b'unicode': + enc = 'utf-8' else: enc = force_encoding(raw, verbose=True) try: