cocoon-dev mailing list archives

Hi Javier,
I read about default encoding for using GET, but I’m actually ‘posting’ the form. I
really am convinced that the only real issue here is that the formencoding property ‘org.apache.cocoon.formencoding’
is being set with the value from the cocoon-core block. I’m currently debugging the spring
configurator and I suspect this will confirm the issue. Will get back on this today.
Robby
From: Javier Puerto [mailto:jpuerto@gmail.com]
Sent: Wednesday, June 06, 2012 1:23 PM
To: dev@cocoon.apache.org
Subject: Re: issue with form encoding C2.2
Hi Robby,
Maybe it's helps, by default Tomcat uses ISO-8859-1 for URL encoding so GET parameters will
be affected. http://wiki.apache.org/tomcat/FAQ/CharacterEncoding#Q1
We had similar issues before and was fixed configuring the Tomcat connector as UTF-8.
Salu2
2012/6/6 Robby Pelssers <Robby.Pelssers@nxp.com<mailto:Robby.Pelssers@nxp.com>>
I did found a workaround by the way…
If you add an extra request parameter called cocoon-form-encoding and set it to utf-8 it will
work
Snippet from RequestProcessor.java:
protected Environment getEnvironment(String uri,
HttpServletRequest req,
HttpServletResponse res)
throws Exception {
String formEncoding = req.getParameter("cocoon-form-encoding");
if (formEncoding == null) {
formEncoding = this.settings.getFormEncoding();
}
HttpEnvironment env;
env = new HttpEnvironment(uri,
req,
res,
this.servletContext,
this.environmentContext,
this.containerEncoding,
formEncoding);
return env;
}
From: Robby Pelssers [mailto:Robby.Pelssers@nxp.com<mailto:Robby.Pelssers@nxp.com>]
Sent: Wednesday, June 06, 2012 1:10 PM
To: dev@cocoon.apache.org<mailto:dev@cocoon.apache.org>; users@cocoon.apache.org<mailto:users@cocoon.apache.org>
Subject: issue with form encoding C2.2
Hi all,
Just wanted to have a short discussion on an issue that I wasted quite some hours on. Let
me first explain that I configured my cocoon block with following two properties as per http://cocoon.apache.org/2.2/1366_1_1.html
:
org.apache.cocoon.containerencoding=UTF-8
org.apache.cocoon.formencoding=UTF-8
Recently I created a form showing pre-populated data from an xquery. One form field contained
the Ohm Ω character and the browser rendered if fine. But I had to post the data back to
the server and the Ohm sign got corrupted.
From firebug I could see following:
descriptiveTitle N-channel 25 V 2.85 mΩ logic level MOSFET in LFPAK using NextPower technology
magCode R73
specificationStatus Product
From flowscript:
descriptiveTitle=N-channel 25 V 2.85 mâ„¦ logic level MOSFET in LFPAK using NextPower
technology
specificationStatus=Product
magCode=R73
So next I started looking at cocoon sources using URLDecoder and I had a suspicion that NetUtils
might be responsible for the issue. But that didn’t seem to be the issue. I managed to
find out that the value I defined for formencoding is not actually used. The reason is that
it also is set in cocoon-core and either it doesn’t get overwritten or the property from
cocoon-core is overwriting my own property value.
nxp10009@NXL01262 /c/development/workspaces/cocoon22/trunk/core
$ find . -name *.properties | xargs grep "formencoding"
./cocoon-core/src/main/resources/META-INF/cocoon/properties/core.properties:org.apache.cocoon.formencoding=ISO-8859-1
So what’s the best way to fix this?