DBManager: fix data conversion to unicode (errors='replace' should be enough)

This commit is contained in:
Giuseppe Sucameli 2015-10-01 00:29:38 +02:00
parent a7cd1985ed
commit 401f43c590
2 changed files with 3 additions and 9 deletions

View File

@ -75,11 +75,8 @@ class BaseTableModel(QAbstractTableModel):
return None
elif isinstance(val, (str, unicode)) and len(val) > 300:
# too much data to display, elide the string
return u"%s..." % val[:300]
try:
return unicode(val) # convert to unicode
except UnicodeDecodeError:
return unicode(val, 'utf-8', 'replace') # convert from utf8 and replace errors (if any)
val = val[:300]
return unicode(val, 'utf-8', 'replace') # convert from utf8 and replace errors (if any)
def headerData(self, section, orientation, role):

View File

@ -37,10 +37,7 @@ class BaseError(Exception):
else:
msg = e
try:
msg = unicode(msg) # convert to unicode
except UnicodeDecodeError:
msg = unicode(msg, 'utf-8', 'replace') # convert from utf8 and replace errors (if any)
msg = unicode(msg, 'utf-8', 'replace') # convert from utf8 and replace errors (if any)
self.msg = msg
Exception.__init__(self, msg)