code: def safe_unicode(str_, from_encoding=None):
      
      if isinstance(str_, unicode):
          return str_
  
      if not from_encoding:
          from vcs.conf import settings
          from_encoding = settings.DEFAULT_ENCODINGS
  
      if not isinstance(from_encoding, (list, tuple)):
          from_encoding = [from_encoding]
  
      try:
          return unicode(str_)
      except UnicodeDecodeError:
          pass
  
      for enc in from_encoding:
          try:
              return unicode(str_, enc)
          except UnicodeDecodeError:
              pass
  
      try:
          import chardet
          encoding = chardet.detect(str_)['encoding']
          if encoding is None:
              raise Exception()
          return str_.decode(encoding)
      except (ImportError, UnicodeDecodeError, Exception):
          return unicode(str_, from_encoding[0], 'replace')
docs: safe unicode function. Does few trick to turn str_ into unicode
  
      In case of UnicodeDecode error we try to return it with encoding detected
      by chardet library if it fails fallback to unicode with errors replaced
  
      :param str_: string to decode
      :rtype: unicode
      :returns: unicode object