[Zope] unicode support

Garry Saddington garry at schoolteachers.co.uk
Fri Jun 27 02:42:28 EDT 2008


On Friday 27 June 2008 05:38, Andreas Jung wrote:
> --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
And if I were to use DTML?
Regards
Garry


More information about the Zope mailing list