Issue 938076: XMLGenerator ignores encoding in output (original) (raw)
Issue938076
Created on 2004-04-19 17:18 by mlh, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (3) | ||
---|---|---|
msg20545 - (view) | Author: Magnus Lie Hetland (mlh) | Date: 2004-04-19 17:18 |
When XMLGenerator is supplied with an encoding such as 'utf-8' and subsequently with some non-ASCII Unicode characters, it crashes, because of its characters() method. The current version is: def characters(self, content): self._out.write(escape(content)) This completely ignores the encoding, and will (when writing to something such as a StringIO or the like) simply try to convert this into an ASCII string. The encoding is only used in the XML header, not as the real encoding! It may be that I've gotten things wrong, but I would suggest the following fix: def characters(self, content): self._out.write(escape(content).encode(self._encoding)) This seems to work well for me, at least. | ||
msg20546 - (view) | Author: Martin v. Löwis (loewis) * ![]() |
Date: 2004-04-20 19:46 |
Logged In: YES user_id=21627 In general, it would be even better to generate character references for characters not representable in the output encoding. | ||
msg20547 - (view) | Author: Martin v. Löwis (loewis) * ![]() |
Date: 2004-05-06 02:40 |
Logged In: YES user_id=21627 Thanks for pointing this out. Fixed in saxutils.py 1.21.10.2 1.23 NEWS 1.831.4.105 Fix in PyXML is pending. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:03 | admin | set | github: 40169 |
2004-04-19 17🔞47 | mlh | create |