文字エンコード用にアプリケーションにフィルターを実装してみてください。
public class CharacterEncodingFilter implements Filter {
@Override
public void init(FilterConfig filterConfig)
throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
servletRequest.setCharacterEncoding("UTF-8");
servletResponse.setContentType("text/html; charset=UTF-8");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
}
}
また、tomcatを使用している場合は、コネクタ要素にURIEncoding属性(値はUTF-8)があることを確認してください。
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443"/>
また、すべてのJSPページでこれを指定していることを確認してください。
<%@page contentType="text/html" pageEncoding="UTF-8"%>
お役に立てれば。