On 2024-10-08 09:38, José María Mateos wrote: > On Tue, Oct 8, 2024, at 08:55, Jan Eden via Mutt-users wrote: > > with open('/var/tmp/htmlfile', 'w', encoding='iso-8859-1') as tmp_file: > > ... > > > > but this only changed the error message to: > > > > 'latin-1' can't encode character '...' in position ...: ordinal not in > > range(256) > > You can tell open() how to handle errors with the 'errors' keyword. See > https://docs.python.org/3/library/functions.html#open: > > --- > errors is an optional string that specifies how encoding and decoding errors > are to be handled—this cannot be used in binary mode. A variety of standard > error handlers are available (listed under Error Handlers), though any error > handling name that has been registered with codecs.register_error() is also > valid. The standard names include: > > 'strict' to raise a ValueError exception if there is an encoding error. > The default value of None has the same effect. > > 'ignore' ignores errors. Note that ignoring encoding errors can lead to > data loss. > > 'replace' causes a replacement marker (such as '?') to be inserted where > there is malformed data. > --- > > You're not setting it, so it's the same as it being 'strict'. I'd try with > 'replace', so you can see characters that were replaced and were potentially > problematic.
error='surrogateescape' did the trick – thank you! - Jan
signature.asc
Description: PGP signature