File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Struts and the fly likes Struts 1.3.10 encoding problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Struts 1.3.10 encoding problem " Watch "Struts 1.3.10 encoding problem " New topic

Struts 1.3.10 encoding problem

saikat mukherjee '

Joined: Nov 20, 2007
Posts: 2
Hi ,
i am currently working on a struts application that needs to submit unicode charaters.

the unicode labels are displayed on the forms properly but whenever the user submits the form by typing unicode characters the values get garbled up.

I have tried the following options but to no help:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> (in jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> (in jsp)

I have also tried to set the character encoding explicitly to utf-8 in the request and response objects using a flter.
And in tomcat i have also set the encoding to utf-8

One interesting thing that I found was that if i create a normal jsp page without using any struts tag and point to the same struts action the unicode characters are getting submitted properly.

I am assuming if this is any issue with the usage of the struts tag although i have specified the acceptCharset property in the html:form

saikat mukherjee '

Joined: Nov 20, 2007
Posts: 2
Al last I found the solution by writing a filter

in web.xml


The filter itself looks like:

public class CharacterEncodingFilter implements Filter {
private FilterConfig fc;

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;


chain.doFilter(request, response);


I agree. Here's the link:
subject: Struts 1.3.10 encoding problem
It's not a secret anymore!