jsp page encoding problem

前端 未结 1 1899
终归单人心
终归单人心 2020-12-22 09:48

I home some problems with encoding of data in JSP page (I\'m using a Spring-MVC). It looks like this:

<%@page contentType=\"text/html\" pageEncoding=\"UTF         


        
相关标签:
1条回答
  • 2020-12-22 10:42

    You need to configure character encoding filter in web.xml:

    <filter>
        <filter-name>charsetEncodingFilter</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>charsetEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    Servlet container treats POST request data as ISO-8859-1 if request encoding is not specifed, whereas browser submits the form in the page encoding (UTF-8 in your case) and unsually doesn't specify the encoding, therefore you need a filter to specify the proper request encoding.

    EDIT: As correctly mentioned by BalusC, it doesn't cover encoding problems with GET requests. To fix that on Tomcat you need to set URIEncoding="UTF-8" on <Connector> in conf/server.xml.

    0 讨论(0)
提交回复
热议问题