[Zope] UnicodeDecodeError

Joern Wallstabe joern.wallstabe at igd-r.fraunhofer.de
Mon May 23 07:39:39 EDT 2005


Thank you all for replying - now it works I got utf-8 string in my form.

Seem Zopes ZPT system is trying to do the encoding, depending on on 
setHeader() method.
So if this header is set you can simply return unicode strings.


Strange setting cmf default charset to utf-8 doesn't work :-(

> Am Montag, den 23.05.2005, 10:35 +0200 schrieb Joern Wallstabe:
> 
>>Hello,
>>
>>i would like to feed a zpt form with data from a python dictionary via a 
>>python script
>>
>>zpt snippet:
>>
>><textarea name="title:record:ulines" rows="3"  cols="65">
>><tal:span content="python:context.printDict(here.dict)"/>

> 
> This is wrong anyway. Use tal:content in the textarea instead.

o.k. replace that with
<tal:content content="python:context.printDict(here.dict)"/>

> 
>></textarea>
>>
>>python script prinDict:
>>
>>keys_ = dict.keys()
>>keys_.sort()
>>lines=[]
>>
>>for key in keys_:
>>        lines.append(u"%s:%s\n" %(key ,dict[key]))
>>
>>uni_str = u"".join(lines)
>>return uni_str.encode('utf-8')

function now returns unicode string without utf-8 encoding

>>I'm always getting a  UnicodeDecodeError.
>>
>>I' using Zope 2.7.5, CMF 1.5.1, Python 2.3.5
>>HTML meta tag is set to
>>	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
>>CMF default_charset = utf-8
>>
> 
> 
> meta charset does not count btw. CMF default should, but it really 
> depends on the real content-type header you send. Make sure its
> the encoding you want there (setHeader() )

That was the important hint: added to cmf main_header_template:

tal:define "
dummy python: request.RESPONSE.setHeader('content-type', 'text/html;; 
charset=utf-8');


> And its important to watch the encoding of the strings you work
> with. Where does the dictionary come from?

python dictionary was result form parsing xml data into that dictionary 
(all unicode)

Thanx again :-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 2092 bytes
Desc: S/MIME Cryptographic Signature
Url : http://mail.zope.org/pipermail/zope/attachments/20050523/3e6eaf42/smime.bin


More information about the Zope mailing list