--On 27. Juni 2008 06:42:28 +0000 Garry Saddington <garry@schoolteachers.co.uk> wrote:
On Friday 27 June 2008 05:38, Andreas Jung wrote:
--On 26. Juni 2008 22:05:06 +0000 Garry Saddington
<garry@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@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?
DTML? In a similar way...You know dtml-let or something like that. You know that stuff like 'request' 'context' etc. is available in PythonScripts, ZPT and DTML is some way...everything is the same object. -aj