diff --git a/beets/util/__init__.py b/beets/util/__init__.py index d798cb102..7bb64bd24 100644 --- a/beets/util/__init__.py +++ b/beets/util/__init__.py @@ -59,12 +59,14 @@ class HumanReadableException(Exception): def _reasonstr(self): """Get the reason as a string.""" - if isinstance(self.reason, basestring): + if isinstance(self.reason, unicode): return self.reason + elif isinstance(self.reason, basestring): # Byte string. + return self.reason.decode('utf8', 'ignore') elif hasattr(self.reason, 'strerror'): # i.e., EnvironmentError return self.reason.strerror else: - return u'"{0}"'.format(self.reason) + return u'"{0}"'.format(unicode(self.reason)) def get_message(self): """Create the human-readable description of the error, sans