Java EE 中文乱码问题

  好久没有写博客了,之前在写一个小小项目遇到了菜鸟级的问题。当然了,作为自学者的我遇到这种菜鸟级的问题还是应该的。就是中文乱码的问题,这里我将讲的是struts2+Ajax时出现的中文乱码。

     之前的博客里面写了一个struts2 + Ajax的实现,里面有些问题而且解决方案也不是很专业甚至感觉暴力。呵呵。好了,还是进入正题吧。今天搞的小项目是SSH整合的项目,里面涉及了表单以Ajax方式提交。

  我在jsp中的代码是这样的

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

  在struts.xml文件中进行了国际化的处理

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

  在web.xml文件中进行了过滤器,我用的是spring提供的字符串过滤的方式。当然了,本可以自己写个拦截器进行拦截的,但是还是用现成提供的方法吧

<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>

  在理论上来说应该没有问题才对,无论是在过滤器里还是在struts.xml中我都进行编码方式的规定。但是依然乱码,而且这个问题也不是仅仅我一个人遇到,其他一起自学的哥们也遇到了。无意间在网上看到了这样的一种说法:tomcat接收默认编码是iso-8859-1,于是修改了tomcat中conf文件下的server.xml文件

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

  之后果然ok啦。。。



  

posted on 2012-12-16 13:37  小海少  阅读(698)  评论(0编辑  收藏  举报