SpringMVC Controller 接收页面传递的中文参数出现乱码

      在Controller中接收到的POST参数如果是中文的话,显示为乱码。已知客户端传过来时编码为UTF-8。

 

问题产生分析:

spring MVC中默认的编码格式为“ISO-8859-1”,因此造成乱码。

简单的解决方式:

New String(request.getParameter("xxx").getBytes("iso-8859-1"),"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>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <servlet-name>SpringMVC</servlet-name>
    </filter-mapping>



猜你喜欢

转载自blog.csdn.net/ljheee/article/details/76576099