做java几年了一直做的纯后端处理数据的这周接了web的活, 遇到了传说中的common problem字符集的问题环境如下eclipse luna(4.4.0),jdk 1.8,spring版本3.1.3.RELEASE,Tomcat版本1.7。倒持了将近4个小时一个很无奈的原因。分享一下吧给自己做个纪念也给小菜鸟们提个醒。

        1. eclipse workspace 字符集这个很关键这次就是栽倒这里了新建的workspace忘记改字符集

wKiom1fAa0mAC9EDAAEZvZ9Ygdc328.png-wh_50

       2.项目的字符集(alt+enter)=>resource Textfile encoding...

       3.spring mvc 配置

        <filter>
        <filter-name>characterEncodingFilter</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>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

        4. spring-servlet.xml 配置

        

 <bean id="utf8Charset" class="java.nio.charset.Charset"
          factory-method="forName">
        <constructor-arg value="UTF-8"/>
    </bean>

    <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg ref="utf8Charset"/>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

   需要spring 版本支持。需要配置xml 的nameSpace

        xmlns:mvc="http://www.springframework.org/schema/mvc"

    xsi:schemaLocation 中加入

              http://www.springframework.org/schema/mvc
              http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd

基本上能想到的就是这些了欢迎老鸟指导。