解决struts2以GET方式提交表单中文乱码问题

之前用POST方式提交表单一直没有遇到中文乱码的方式,最近使用GET方式提交,发现中文乱码。 检测了struts.xml和web.xml等地方读配置好了

struts.xml

 

 

<constant name="struts.i18n.encoding" value="UTF-8" />  

 

 

 

 

 

web.xml

 

    <!-- 编码 -->  
    <filter>  
        <filter-name>encodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
    </filter>  
      
    <filter-mapping>  
        <filter-name>encodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  

 

 

 

 

 

 

 

查了一些资料,问题出在于Tomcat的server.xml没有配置编码,添加URIEncoding="UTF-8"就可以了

 

<Connector port="8080" protocol="HTTP/1.1"  
           connectionTimeout="20000"  
           redirectPort="8443" URIEncoding="UTF-8"/>  

 

 

但是我发现Eclipse 每次重新部署之后,之前配置的编码失效了,之前写进去的URIEncoding="UTF-8" 又没了。然后又找资料:

 

 

 

为什么会还原?

Tomcat服务器在Eclipse中启动时,会自动发布Eclipse中部署的项目,但是我的项目是自己手动在外面部署的,Eclipse只认得在它里面部署的项目,因此它会创建一个新的server.xml文件覆盖原来的文件,里面只有Eclipse中部署的项目。

 

有个办法可以解决:

 

方法一:

找到自己eclipse 里面的Servers 项目里面的server.xml文件。

然后再加上编码格式。

 

方法二:  你在Tomcat 的conf 文件夹下的server.xml 加上  URIEncoding="UTF-8"  编码格式后。在找到Eclipse 的Window-Preferences-Server-Launching,取消Automatically publish wen starting servers,点击OK,搞定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值