diff --git a/src/calibre/ebooks/metadata/pdb.py b/src/calibre/ebooks/metadata/pdb.py index ccc64d70aa..ddf2b0c818 100644 --- a/src/calibre/ebooks/metadata/pdb.py +++ b/src/calibre/ebooks/metadata/pdb.py @@ -51,5 +51,5 @@ def set_metadata(stream, mi): MetadataWriter(stream, mi) stream.seek(0) - stream.write(re.sub('[^-A-Za-z0-9]+', '_', mi.title).ljust(32, '\x00')[:32]) + stream.write('%s\x00' % re.sub('[^-A-Za-z0-9 ]+', '_', mi.title).ljust(31, '\x00')[:31].encode('ascii', 'replace')) diff --git a/src/calibre/ebooks/pdb/header.py b/src/calibre/ebooks/pdb/header.py index 75455354c2..3436c262d8 100644 --- a/src/calibre/ebooks/pdb/header.py +++ b/src/calibre/ebooks/pdb/header.py @@ -30,7 +30,7 @@ class PdbHeaderReader(object): def name(self): self.stream.seek(0) - return re.sub('[^-A-Za-z0-9 ]+', '', self.stream.read(32).replace('\x00', '')) + return self.stream.read(32).replace('\x00', '') def full_section_info(self, number): if number not in range(0, self.num_sections):