SpringMVC学习系列-后记 解决GET请求时中文乱码的问题

之前项目中的web.xml中的编码设置:


        CharacterEncoding
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
        
            forceEncoding
            true
        
    
    
        CharacterEncoding
        /*
    

但这个设置是针对POST请求的,tomacat对GET和POST请求处理方式是不同的,要处理针对GET请求的编码问题,则需要改tomcat的server.xml配置文件,如下:

改为:

最关键的点在这里:如果你是更改的tomcat安装目录的server.xml配置 文件,那么在用eclipse运行项目时会发现配置没起作用,其实是因为eclipse在运行项目时是用的eclipse中配置的tomcat,那么问题 就好解决了,打开eclipse中的tomcat配置文件,改为如下即可:

 

:配置useBodyEncodingForURI="true"后,可以解决普通get请求的中文乱码问题,但是对于通过ajax发起的get请求中文依然会乱码,请把useBodyEncodingForURI="true"改为URIEncoding="UTF-8"即可。