File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
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
Author

Struts 1.3.10 encoding problem

saikat mukherjee '
Greenhorn

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
saikat mukherjee '
Greenhorn

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



in web.xml
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>bt.gov.g2c.framework.common.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>requestEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>


<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>



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;

request.setCharacterEncoding("UTF8");
response.setCharacterEncoding("UTF8");

chain.doFilter(request, response);

request.setCharacterEncoding("UTF8");
response.setCharacterEncoding("UTF8");

}
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Struts 1.3.10 encoding problem