后台乱码解决方案
- 项目中经常会遇到后台返回给前端的中文出现乱码,网上也给出了很多解决方案。
1.修改配置文件
#编码格式
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
#设置tomcat编码格式
server.tomcat.uri-encoding=UTF-8
2.在Controller的Mapping中添加
produces = “application/json;charset=utf-8”
3.过滤器总设置request、response的编码格式
request.setCharacterEncoding(“UTF-8”);
response.setCharacterEncoding(“UTF-8”);
4.前端页面表单提交时设置编码
Form 表单添加属性:accept-charset=”utf-8”
刚结束的项目中,有一次在前端jsp取后台request传值时,傻傻的像在后台取request中参数一样使用request.getParameter(“key”);结果死活取不到,但是EL表达式${key}又可以取到值,,,懵逼了好大一会儿。。。
jsp中java代码里取后台request传回值需使用request.getAttribute(“key”)才可以,,
此处记录一下,引以为戒。。。