The problem is dependent on that, which application server is used. Even the pages are correcty setted e.g. to UTF8, the attempt to obtain parameter in correct form (according expected language) don't gives good results i.e. request.getParameter(...) returns not expected characters, because default code page for parameters is mostly 8859-1. It means, that the codepage for parameters is independent on codepage of JSP page and default codepage for parameters influences the result. The best description, which i found is here:
[1]: http://docs.cksource.com/CKFinder_2.x/Developers_Guide/Java/Configuration/URI_Encoding.
In some application servers the "request.setCharacterEncoding(...)" has no effect. You must set parameter encoding in descriptor. The most complicated are JBoss, Apache Tomcat, in middle is Glassfish. Better is WebLogic, the best is Jetty (UTF-8 is default setting). In my case i must create glassfish-web.xml descriptor and put there parameter-encoding tag. In my case (GlassFish):