前言
写了一个mvc的程序,打开页面后有乱码,如下图:
排查思路
一、检查jsp的文件格式
- 问题:我的jsp文件如下
发现问题了吗?
就是编码格式出现了问题,默认是“ISO-8859-1”,实际应为“UTF-8” - 解决方案:
-
1、直接在该jsp文件中将所有的“ISO-8859-1”替换为“UTF-8”
(太繁琐,每次新建jsp文件还得改,不建议这么做,除非就一个页面)
-
2、修改模板 - 不废话了,直接打开偏好设置【perference】
( 不会打开看这里)
再次新建jsp文件,就这么简单,如图↓
有点懵?那就再多说说两句吧~~~
- 实际是这么回事
- 打开偏好设置中的模板(当然以后想变模板的啥内容都在这里编辑,编辑好后别忘了Apply哦)
- 打开偏好设置中的模板(当然以后想变模板的啥内容都在这里编辑,编辑好后别忘了Apply哦)
- 实际是这么回事
-
二、请求参数中有乱码
-
在前端请求中有中文信息传递,如下图↓
(控制台中的中文信息出现了乱码,字母和数字不受影响)
-
为了防止前端传入的中文数据传入乱码问题,需要使用Spring提供的编码过滤器了来统一编码。要在 web.xml 中添加如下代码
<!-- 配置编码过滤器 --> <filter> <filter-name>CharacterEncoding</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>CharacterEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
然后就好了