cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bert Van Kets <b...@vankets.com>
Subject [SUMMARY] Encoding form data
Date Mon, 28 Oct 2002 12:48:56 GMT
Cocoon does not support non-US characters when posting data to the server.
Characters like รจ (e accent grave) are translated to two strange characters 
when  checking the posted data.
iso-8859-1 is the default encoding for Cocoon and it does support all 
necessary West European characters (thanks to Bruno for pointing this 
out).  You can find out more on iso-8859-1 on 
http://www.bbsinc.com/iso8859.html
If you need support for other characters you will need to replace 
iso-8859-1 with UTF-8 which has Unicode support.  More on UTF can be found 
at http://www.columbia.edu/kermit/utf8.html

When you create a webform and post to a pipeline that has a request 
generator and an XML serializer you will see that posted data is not 
correctly presented.  To correct this you need to add the 
request.setCharacterEncoding method to set the encoding for the request 
data.  This method is captured in the setCharacterEncodignAction action.

To use it simply add

<map:action name="set-encoding" 
src="org.apache.cocoon.acting.SetCharacterEncodingAction"/>

to the action component block

Then add this at the beginning of every pipeline that catches requested 
non-ASCII data

         <map:act type="set-encoding">
           <map:parameter name="form-encoding" value="iso-8859-1"/>
         </map:act>

Of course you need to replace "iso-8859-1" with "UTF-8" if you need to use 
that encoding.

Another important thing is that you must make sure the data is sent out to 
the browser with the correct encoding in the first place.  To achieve this 
add the encoding to the XML and the (x)html serializers.

<map:serializer mime-type="text/html" name="html" 
src="org.apache.cocoon.serialization.HTMLSerializer" pool-grow="4" 
pool-max="32" pool-min="4" logger="sitemap.serializer.html">
    <buffer-size>1024</buffer-size>
    <encoding>iso-8859-1</encoding>
</map:serializer>

This should do it!

Have fun.
Bert



This mail is written in 100% recycled electrons.


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <cocoon-users-unsubscribe@xml.apache.org>
For additional commands, e-mail:   <cocoon-users-help@xml.apache.org>


Mime
View raw message