[Zope] unicode support

Andreas Jung lists at zopyx.com
Fri Jun 27 00:38:31 EDT 2008



--On 26. Juni 2008 22:05:06 +0000 Garry Saddington 
<garry at schoolteachers.co.uk> wrote:

> On Thursday 26 June 2008 15:12, Andreas Jung wrote:
>> --On 26. Juni 2008 14:09:50 +0000 Garry Saddington
>>
>> <garry at schoolteachers.co.uk> wrote:
>> > I am using Zope 2.9 connected to a Posgres DB via psycopg. My database
>> > encoding is UTF8.  I am getting the following error when users try to
>> > insert text in the database containing £ signs: ERROR: invalid byte
>> > sequence for encoding "UTF8": 0xa3
>> >
>> > This is due to the encoding of a £ sign in the text being sent to
>> > the DB. My question then is how do I make sure that all encodings
>> > submiitted from forms are in the correct UTF8 format? Regards
>>
>> Use ensure that the HTML page uses UTF-8 as encoding
>> (either using <meta-equiv...> within the HTML page or by sending
>>
>> content-type: text/html; charset=utf-8
>>
>> as HTTP header.
>>
> I have taken this a little further after trying all suggestions in the
> thread with no success and looked into zope.conf, specifically:
>
># Directive: default_zpublisher_encoding
>#
># Description:
>#     This controls what character set is used to encode unicode
>#     data that reaches ZPublisher without any other specified encoding.
>#
># Default: iso-8859-15
>#
># Example:
>#
>#    default_zpublisher_encoding utf-8
>
> As my pages all report as iso-8859-15 I thought a change here would help,
> but this happens:
>
>   from OFS.content_types import guess_content_type
> Error: 'default_zpublisher_encoding' is not a known key name
>
> It works on this:  Zope Version  (Zope 2.9.0, python 2.4.2, win32)
>
> And fails on this:  Zope Version  (Zope 2.9.0-, python 2.4.5, linux2)
>

Totally wrong approach modifying the zpublisher encoding here.  As said you 
have two options:

- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  with in your HTML

. <tal:call define="dummy python: request.RESPONSE('content-type', 
'text/html;; charset=utf-8')" /> within your template

The Second solution is known to work across all browsers reliably.

-aj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/zope/attachments/20080627/258b481a/attachment.bin


More information about the Zope mailing list