struts 中的数据是通过 ActionForm来承载的.
也就是所在你 设置编码以前数据已经保存到了ActionForm中 .
而这个时候你在去设置编码已经太迟了。
解决办法:
参看:  http://blog.csdn.net/caoyinghui1986/archive/2008/03/25/2216198.aspx

解决方案 »

  1.   

    重写ActionServlet的doGet或doPost,在里面设置request的编码
      

  2.   

     as follows:
     1.jsp page :
       <%@ page ....  pageEncoding="utf-8"%>
     2.add request.setCharacterEncodeing("utf-8")inside actionform's reset() or constructor method
     3.....
    anthother:
      you can write a fliter
      

  3.   

    可以在struts配置文件中
    配置
    <controller contentType="text/html;charset=gb2312"/>
      

  4.   


    同在页面设置一样
    <%@ page language="java" pageEncoding="gb2312"%>
      

  5.   

    filter
    这个既简单又方便啊!
      

  6.   

    用Filter,这个比较简单,tomcat中example有这个Filter的实例,改一下就行。