-----BEGIN PGP SIGNED MESSAGE-----
- --On 17. Dezember 2006 12:26:26 -0500 Tres Seaver <[EMAIL PROTECTED]>
>> A ZPT has now something as an output_encoding. When you create a ZPT
>> through the ZMI you'll be asked about the encoding (which is utf8 by
>> default). The pt_render() method now converts the internal unicode
>> representation back to the output encoding. This is basically the
>> behavior of the old ZPT implementation. In addition the __call__()
>> method sets the 'charset' property of the content-type header according
>> to the configured output encoding.
> That is dangerous, because a page template may be called without being
> the "main" driver for a request; the response encoding should be used,
> if already set, rather than the value set on the template.
Ok, you're right. Is there an reliable way to distinguish between
a direct call and a non-direct call?
>> WebDAV: the PUT factory was using the write() method to store uploaded
>> content. This method wasn't aware of the output encoding. PUT() now
>> uses pt_edit(). This implies that the uploaded content must have the same
>> encoding as the output encoding. Means: when you create a ZPT with
>> encoding UTF-8 you can't upload new content with a different encoding.
>> This is a slightly different behavior from older Zope versions and might
>> break backward compatibility. Anyone having such a usecase? One might
>> check in addition for the 'encoding' attribute inside the XML preamble
>> or for the 'charset' property inside a <meta http-equiv="content-type"
>> ..> tag for HTML documents.
> PUT should always extract the encoding from the upload request, and use
> it to decode the template to unicode for storage.
This works already. However there will be cases when the code can't
autodetect an encoding.
> While saving that
> encoding as the "outpout encoding" for a newly-created template is
> reasonable, modifying the "output encoding" for an existing template is
Newly created content-type is still an open point..look as if I have to
write a bunch of unittests for all edgecases.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (Darwin)
-----END PGP SIGNATURE-----
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -