diff --git a/couchpotato/core/helpers/encoding.py b/couchpotato/core/helpers/encoding.py index b0fe05cf..c28b6974 100644 --- a/couchpotato/core/helpers/encoding.py +++ b/couchpotato/core/helpers/encoding.py @@ -37,14 +37,15 @@ def toUnicode(original, *args): except: try: detected = detect(original) - if detected.get('encoding') == 'utf-8': - return original.decode('utf-8') - return ek(original, *args) + try: + return original.decode(detected.get('encoding')) + except: + return ek(original, *args) except: raise except: log.error('Unable to decode value "%s..." : %s ', (repr(original)[:20], traceback.format_exc())) - return toSafeString(original) + return 'ERROR DECODING STRING' def ss(original, *args): @@ -91,7 +92,7 @@ def ek(original, *args): if isinstance(original, (str, unicode)): try: from couchpotato.environment import Env - return original.decode(Env.get('encoding')) + return original.decode(Env.get('encoding'), 'ignore') except UnicodeDecodeError: raise