[Zope-dev] Re: RFV: Unicode in Zope 2

Martijn Faassen faassen at infrae.com
Thu Dec 15 11:53:10 EST 2005


Florent Guillaume wrote:
> Martijn Faassen wrote:
[snip]
>> What I'm worried about doing this for old code, but some steps will 
>> probably become clear during the brainstorming session. Migration 
>> tools that turn strings in the ZODB into unicode ones magically (with 
>> the ability to spell out exceptions and encoding)? Tricky...
> 
> I'd start by adding some deprecation warnings at the places where 
> PlacelessTranslationService (or Localizer for that matter) do their 
> workarounds so that normally incompatible types are mixed together.

With the most recent Silva under development, we're not using either 
anymore, so someone else would have to do this.

Where would you put the deprecation warning in PTS? It monkey patches 
the ZPT engine, and in particular its StringIO object, to make sure that 
UTF-8 strings and unicode strings, when finally concatenated at the end 
after page template generation, can actually be concatenated as it will 
first encode the unicode strings to UTF-8. The output of the page 
template will then be UTF-8.

In Zope 2 without this in place, the output of the page template will be 
unicode, and if you put in UTF-8 strings (that aren't just ascii), the 
system will give rise to a UnicodeError when this concatenation takes place.

I guess you could put some detection code in PTS's concatenation 
functionality to see whether anything unicode is mixed with non-ascii 
strings, and in that case output one deprecation warning. I have a 
suspicion that you'll see this warning whenever someone views a page 
template in Plone. :)

Regards,

Martijn


More information about the Zope-Dev mailing list