struts2中文乱码问题怎么解决啊?
我在struts.propertites中设置:struts.i18n.encoding=gbk---------------------没用
在struts.xml中设置:<constant name="struts.i18n.encoding" value="gbk"></constant>---------还是没用
页面中也确定都是gbk---------------------------仍然没有解决!!!!!!!!
怎么办啊???????我用的是struts2.1.8
急!

解决方案 »

  1.   

    又在web.xml中<hr><filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    <init-param>
    <param-name>struts.i18n.encoding</param-name>
    <param-value>gbk</param-value>
    </init-param>
    </filter>

    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    还是没有用
      

  2.   

    在struts.xml中设置:
    <constant name="struts.i18n.encoding" value="utf-8" />
    试试
      

  3.   

       项目一开始建立的时候 你就应该确定编码是什么的 把你的项目属性设置为需要的格式 struts.propertites也是  另外在IDE里的属性窗口里有个地方也是设置编码的 仔细找找吧 如果这几个地方都设置好了 表单传值方式为POST的话 就没问题了
      

  4.   

    查找乱码问题别乱找,得根据数据流去查
    发生乱码的地方有:tomcat问题,jsp页面问题,struts问题。
    楼主请把你发生乱码的具体流程说下,我帮你定位
      

  5.   

    StrutsPrepareAndExecuteFilter 这个过滤器类 是不是写错了?
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding("GBK");
    response.setCharacterEncoding("GBK");
    chain.doFilter(request, response);
    }或者可以在 doFilter() 里断点、或者输出一条控制台语句
    以便观察 执行了此方法没。
      

  6.   

    有可能是struts2.1.8的一个bug,我的2.1.6的时候查过struts2的官方文档,它上面说是bug。
    你可以用自己定义过滤器实现,也可以用Spring的过滤器实现。
      

  7.   

    你可以试一下在Tomcat的conf目录下修改(忘了是server.xml 还是web.xml )配置文件
    先找到配置文件中的<connection> 标签然后加上属性 URIEncoding="UTF-8" 即
    <connection .... URIEncoding="UTF-8">
    建议把所有用的编码格式都设为"UTF-8",使用此方式时,建议不要和过滤器一起用。
    一般用过滤器也可以实现
      

  8.   

    换成以前版本,就没问题了
    bug
      

  9.   

     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    给成这个就好了\(^o^)/~