diff --git a/src/calibre/ebooks/pdb/ereader/reader132.py b/src/calibre/ebooks/pdb/ereader/reader132.py
index d44eb2c561..98dbe13790 100644
--- a/src/calibre/ebooks/pdb/ereader/reader132.py
+++ b/src/calibre/ebooks/pdb/ereader/reader132.py
@@ -50,7 +50,7 @@ class Reader132(FormatReader):
def __init__(self, header, stream, log, options):
self.log = log
self.encoding = options.input_encoding
-
+
self.log.debug('132 byte header version found.')
self.sections = []
@@ -105,7 +105,10 @@ class Reader132(FormatReader):
if not os.path.exists(output_dir):
os.makedirs(output_dir)
- html = u'
%s' % self.mi.title
+ title = self.mi.title
+ if not isinstance(title, unicode):
+ title = title.decode('utf-8', 'replace')
+ html = u'%s' % title
pml = u''
for i in range(1, self.header_record.num_text_pages + 1):
diff --git a/src/calibre/ebooks/pdb/ereader/reader202.py b/src/calibre/ebooks/pdb/ereader/reader202.py
index 18281a208e..ce7ad1263a 100644
--- a/src/calibre/ebooks/pdb/ereader/reader202.py
+++ b/src/calibre/ebooks/pdb/ereader/reader202.py
@@ -92,8 +92,12 @@ class Reader202(FormatReader):
self.log.debug('Extracting text page %i' % i)
pml += self.get_text_page(i)
+ title = self.mi.title
+ if not isinstance(title, unicode):
+ title = title.decode('utf-8', 'replace')
+
html = u'%s%s' % \
- (self.mi.title, pml_to_html(pml))
+ (title, pml_to_html(pml))
with CurrentDir(output_dir):
with open('index.html', 'wb') as index:
diff --git a/src/calibre/gui2/convert/pdb_input.py b/src/calibre/gui2/convert/pdb_input.py
index cc7582c7f6..4b0ba73fda 100644
--- a/src/calibre/gui2/convert/pdb_input.py
+++ b/src/calibre/gui2/convert/pdb_input.py
@@ -13,7 +13,7 @@ class PluginWidget(Widget, Ui_Form):
HELP = _('Options specific to')+' PDB '+_('input')
def __init__(self, parent, get_option, get_help, db=None, book_id=None):
- Widget.__init__(self, parent, 'txt_input',
+ Widget.__init__(self, parent, 'pdb_input',
['single_line_paras'])
self.db, self.book_id = db, book_id
self.initialize_options(get_option, get_help, db, book_id)