Since OpenDocument.settingsxml() and OpenDocument.metaxml() return a unicode object, it will raise UnicodeEncodeError when running OpenDocument._saveXmlObjects(). The solution is to encode the unicode object in line 677 and 685 in opendocument.py.
line 677
self._z.writestr(zi, anObject.settingsxml() )
Change to
self._z.writestr(zi, anObject.settingsxml().encode('utf8') )
line 685
self._z.writestr(zi, anObject.metaxml() )
Change to
self._z.writestr(zi, anObject.metaxml().encode('utf8') )
Since OpenDocument.settingsxml() and OpenDocument.metaxml() return a unicode object, it will raise UnicodeEncodeError when running OpenDocument._saveXmlObjects(). The solution is to encode the unicode object in line 677 and 685 in opendocument.py.
line 677 self._z.writestr(zi, anObject.settingsxml() ) Change to self._z.writestr(zi, anObject.settingsxml().encode('utf8') )
line 685 self._z.writestr(zi, anObject.metaxml() ) Change to self._z.writestr(zi, anObject.metaxml().encode('utf8') )