try calling this method as early as possible 9eg with a servlet filter): http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#setCharacterEncoding(java.lang.String)
see also: http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/web/filter/CharacterEncodingFilter.html Maarten On Tue, Mar 24, 2009 at 6:41 PM, Thierry Leveque <tleve...@gmail.com> wrote: > Ok, I fixed my problem. I should say I patched it! And it is pretty > ugly.... > > The problem is from the fact that on the client side the ajax "get" URI is > encoded from as utf-8. But the default Tomcat's URIEncoding is ISO-8859-1 > and for me it is something I cannot change. > So when Tomcat is receiving the request it try to decode the parameters as > if they are ISO-8859-1 and the result is not what is expected. > If I look at the request.getQueryString, the encoding is fine but not with > getParameter(String). > > So my patch is to convert the ISO-8859-1 string to UTF-8 inside my > "getChoices" method: > *input = new String(input.getBytes("ISO-8859-1"),"UTF-8");* > > It is a patch but at least it is working fine now. > > Any better idea? > > Thierry > > > On Mon, Mar 23, 2009 at 21:05, Thierry Leveque <tleve...@gmail.com> wrote: > > > Well I was still perplex, because other fields, and even other ajax > > components seems to work fine with the default Tomcat config. > > So I used the Firefox extension TamperData to see exactly what is sent by > > the browser. > > The difference is obvious: Other ajax components and normal submit link > are > > doing a "post" to the server. So the request object in the Wicket filter > > contain the correct "decoded" value. This is what I especting. > > But when using the AutoCompleteTextField it is a "get" that is used!! > > The value is then send directly within the url. And this is probably why > it > > is not encoded/decoded correctly. > > > > But why is this ajax component is doing a get and the others are doing > > posts?? > > An idea?? > > > > Thierry > > > > > > > > On Mon, Mar 23, 2009 at 20:15, mbrictson <m...@55minutes.com> wrote: > > > >> > >> I checked the Tomcat source code and the default URIEncoding is > ISO-8859-1 > >> (not the system default encoding as I previously stated). > >> > >> AFAIK it is a global setting; I don't think you can set it per web > >> application. > >> > >> If you don't have access to change the URIEncoding in the server.xml, > then > >> perhaps your only option is to build your Wicket application using > >> ISO-8859-1 instead of UTF-8. > >> > >> -- > >> Matt > >> > >> > >> tleveque wrote: > >> > > >> > It is working!!! Thanks!!! > >> > > >> > But I hope this is standard on Linux server, because I don't think I > >> will > >> > have access that on the server where I am hosting my web site. > >> > > >> > Do you know if there is another way to set that per web application? > >> > > >> > Thanks again! > >> > > >> > Thierry > >> > > >> > Sent from: Montreal Quebec Canada. > >> > > >> > On Mon, Mar 23, 2009 at 16:37, mbrictson <m...@55minutes.com> wrote: > >> > > >> >> > >> >> Are you using Tomcat? > >> >> > >> >> I had a similar problem (with the word café specifically) and it > turned > >> >> out > >> >> to be caused by Tomcat's URL encoding. By default, Tomcat uses the > >> system > >> >> encoding for URLs. You will have to edit the Tomcat configuration to > >> >> change > >> >> this: > >> >> > >> >> 1. Open $CATALINA_HOME/conf/server.xml > >> >> > >> >> 2. Locate the <Connector> that is being used. If you are accessing > >> Tomcat > >> >> directly, this will be the HTTP/1.1 connector. If you have Tomcat > >> >> fronted > >> >> by > >> >> Apache HTTPd, this will be the AJP connector. If in doubt, edit > both. > >> >> > >> >> 3. Add the attribute: URIEncoding="UTF-8". > >> >> > >> >> Example: > >> >> > >> >> <Connector port="8080" protocol="HTTP/1.1" > >> >> connectionTimeout="20000" > >> >> redirectPort="8443" > >> >> URIEncoding="UTF-8" /> > >> >> > >> >> -- > >> >> Matt > >> >> > >> >> > >> >> tleveque wrote: > >> >> > > >> >> > Hi, > >> >> > > >> >> > I have a problem AutoCompleteTextField and accentuated characters. > >> When > >> >> I > >> >> > type characters within the us-ascii set, there is no problem, but > as > >> >> soon > >> >> > as I use other characters (like 'é'), it doesn't work. The wrong > >> >> character > >> >> > is received. > >> >> > With the Ajax debugger I can see that what is sent is wrong (or > maybe > >> >> > encoded?). For a 'é', it sends is '%C3%A9'. That what is received > as > >> >> the > >> >> > parameter of the "getChoices" method. > >> >> > > >> >> > Is there something I can do about that? > >> >> > I am using Wicket 1.3.5 > >> >> > > >> >> > Thanks... > >> >> > > >> >> > >> >> -- > >> >> View this message in context: > >> >> > >> > http://www.nabble.com/AutoCompleteTextField-and-accentuated-characters-tp22637037p22668559.html > >> >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> >> > >> >> > >> >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >> >> For additional commands, e-mail: users-h...@wicket.apache.org > >> >> > >> >> > >> > > >> > > >> > >> -- > >> View this message in context: > >> > http://www.nabble.com/AutoCompleteTextField-and-accentuated-characters-tp22637037p22672081.html > >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >> For additional commands, e-mail: users-h...@wicket.apache.org > >> > >> > > >