HiI am using struts 1.2.6 and not yes in struts 2,
So should i just put in a general filter to do encoding?

Ashish

On Mon, Jul 27, 2009 at 4:10 PM, Greg Lindholm <greg.lindh...@gmail.com>wrote:

> On Mon, Jul 27, 2009 at 3:34 PM, Ashish Kulkarni <
> ashish.kulkarn...@gmail.com> wrote:
>
> > HiI have a jsp page which displays data in UTF-8 encoding, there is a
> input
> > text field, when user enter japanese characters in this input text and
> data
> > is transferred to Actionclass i get junk value,
> >
> > How do i handle japanese characters in ActionClass, do i have to do
> > anything
> > special in servlet or in JSP?
> >
> > I did try to put request.setCharacterEncoding("UTF-8"); in my Action
> class,
> > but still does not work.
> >
> > JSP page displays proper japanese characters as it is uses UTF-8 for
> > encoding,
> >
> > Is there a solution which will work for tomcat, weblogic and websphere
> > application server? or is encoding handled seperately by different app
> > servers
> >
>
> Setting character encoding in your action is too late, the parameters have
> already been read from the request.
> You need to set the character encoding in a filter that runs before the
> struts2 filter.
>
> There is a simple filter that will do it.  You just need to add this filter
> to your web.xml before the struts2 filter.
>
> public class CharacterEncodingFilter implements Filter
> {
>    public void doFilter(ServletRequest request, ServletResponse response,
> FilterChain next)
>        throws IOException, ServletException
>    {
>        String encoding = request.getCharacterEncoding();
>        if (encoding == null || encoding.length() == 0)
>        {
>            request.setCharacterEncoding("UTF-8");
>        }
>
>        next.doFilter(request, response);
>    }
>
> }
>

Reply via email to