本文主要是介绍springmvc 明明到处都配置了编码为UTF-8,可还是乱码!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在项目开发中乱码是一个常见的问题,网上也有丰富的解决方案。这里不详细说明。只说我遇到的问题和解决方式。
曾遇到一个问题,就是静态页面+ajax请求,发现静态页面上的中文乱码了,但是ajax请求的那部分中文却不会乱码。明确静态页面有
<meta charset="UTF-8">
后,断定这个问题不是数据库问题,不是前端问题。那还是依然是服务端问题,在确认tomcat等服务器有指定编码后,最终还是把问题定位到了springmvc上。通过对以下类打断点调试
org.springframework.web.filter.CharacterEncodingFilter
将原来的代码:
<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><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>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter>
其中forceResponseEncoding是强制将服务器返回的编码改为UTF-8
有兴趣可以进入
org.springframework.web.filter.CharacterEncodingFilter
查看源码
这篇关于springmvc 明明到处都配置了编码为UTF-8,可还是乱码!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!