struts中指定编码(使用Filter后仍然乱码)

Posted wonkju

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts中指定编码(使用Filter后仍然乱码)相关的知识,希望对你有一定的参考价值。

https://www.cnblogs.com/oldinaction/p/5167481.html

概述:

  Tomcat默认是 ISO编码,不支持中文。尝试过自己写 Filter,在web.xml中将自己写的FIlter放在最前面(否则不会执行Filter中的doFilter方法),甚至也在tomcat配置文件 server.xml中 的 Connector也添加了 URIEncoding="utf-8",以及在 eclipse中的properties也设置了 同样的编码方式,之后 通过在 struts.xml 中添加 

1 <constant name="struts.i18n.encoding" value="utf-8"></constant>
View Code

也还是乱码。

最后,在 web.xml 中 的struts的filter添加(蓝色部分) 

<filter>  
        <filter-name>struts2</filter-name>  
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
            <param-name>struts.i18n.encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>  
    </filter>  

解决了问题。 我猜想,应该跟struts自己指定了编码有关。

 

以上是关于struts中指定编码(使用Filter后仍然乱码)的主要内容,如果未能解决你的问题,请参考以下文章

java - 如何在Java文件中指定相对文件路径,以便将文件放入jar文件后仍然可以工作?

关于Struts的中文乱码问题

nodeJS 返回前台乱码问题解决

在 Ordinal Encoder 中指定编码顺序

获取魔术线/shebang中指定的编码(来自模块内)

在Java中指定默认文件编码[重复]