[Zope-dev] Catalog and Unicode

Dieter Maurer dieter at handshake.de
Wed Aug 10 17:42:36 EDT 2005


Florent Guillaume wrote at 2005-8-9 17:18 +0200:
>We're seeing problems in one application here due to the catalog and  
>interactions with Unicode. Here's what happens:
>
>- an object is indexed with a Unicode title, so in the catalog the  
>metadata tuple has for instance (u'cafe',)
>- later that title is changed to latin-1, so the new metadata tuple  
>would be ('caf\xe9',)
>
>The problem is that Catalog.py has in updateMetadata() the code:
>
>             if data.get(index, 0) != newDataRecord:
>                 data[index] = newDataRecord
>             try:
>                 changed = data.get(index, 0) != newDataRecord
>             except UnicodeDecodeError:
>                 changed = True
>            if changed:
>                 data[index] = newDataRecord
>
>Objections ?

I fear, you will get similar problems in the indexes.

You should avoid mixed unicode/non-unicode in fields or indexes
(or the the "default encoding" appropriately).

-- 
Dieter


More information about the Zope-Dev mailing list