[Zope] Using tal:attributes in XML with non-ASCII characters
Chris Withers
chris at simplistix.co.uk
Mon Mar 20 13:46:05 EST 2006
Andrew Veitch wrote:
> Error Type: UnicodeDecodeError
> Error Value: 'ascii' codec can't decode byte 0x80 in position 0: ordinal
> not in range(128)
>
> If I change the input line to:
>
> <input name="blah" type="text" tal:attributes="value python:chr(200)" />
>
> Then this will work in HTML mode but will fail in XML mode.
This all sounds familiar. I remember having loads of fun with
MailTemplates, which work predominantly in XML mode.
The rules I have from working with them are as follows:
If content_type is set to text/html, then:
- any unicodes should be encoded using the character set you
intend to use for the final mail encoding
- you are responsible for ensuring that any strings are encoded
with the correct character set, which should be that used for
the final mail encoding.
If content_type is set to anything else:
- all string-like data inserted into the Mail Template during
rendering must be in the form of unicode objects.
So, in your case, make sure everything you insert with any tal is a
unicode object.
hth,
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
More information about the Zope
mailing list