I home some problems with encoding of data in JSP page (I\'m using a Spring-MVC). It looks like this:
<%@page contentType=\"text/html\" pageEncoding=\"UTF
You need to configure character encoding filter in web.xml
:
<filter>
<filter-name>charsetEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charsetEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Servlet container treats POST request data as ISO-8859-1 if request encoding is not specifed, whereas browser submits the form in the page encoding (UTF-8 in your case) and unsually doesn't specify the encoding, therefore you need a filter to specify the proper request encoding.
EDIT: As correctly mentioned by BalusC, it doesn't cover encoding problems with GET requests. To fix that on Tomcat you need to set URIEncoding="UTF-8"
on <Connector>
in conf/server.xml
.