springmvc字符 中文乱码问题

1.字符过滤器

输入中文测试,发现乱码

以前乱码问题通过过滤器解决 , 而SpringMVC给我们提供了一个过滤器 , 可以在web.xml中配置,修改了xml文件需要重启服务器。

springmvc未设置字符过滤器,获取的信息,在前端页面显示的中文都是中文乱码。

解决方法:在web.xml中设置字符过滤器

<filter><filter-name>encoding</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>forceEncoding</param-name><param-value>true</param-value></init-param>
</filter>
<filter-mapping><filter-name>encoding</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

但是发现 , 有些极端情况下.这个过滤器对get的支持不好 .

处理方法 :

修改tomcat配置文件 :

​ 文件位置:tomcat文件夹—conf—server.xml

​ 加入:URIEncoding="utf-8"

<Connectorport="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" URIEncoding="utf-8"/>

一般情况下,SpringMVC默认的乱码处理就已经能够很好的解决了!

乱码问题,需要平时多注意,在尽可能能设置编码的地方,都设置为统一编码 UTF-8

这种过滤器对大部分中文乱码都有用了,但是还有一种情况为json中文乱码

2.json乱码问题

中文变成????,这种情况常出现在:Controller类 使用了 @ResponseBody

​ @ResponseBody注解的作用是将controller的方法返回的对象 通过适当的转换器 转换为指定的格式之后,写入到response对象的body区(响应体中),通常用来返回JSON数据或者是XML。

​ 数据,需要注意的呢,在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,它的效果等同于通过response对象输出指定格式的数据。

这里还要着重强调一下,要通过@ResponseBody 注解 将返回的json字符串放入响应体中,然后在前台js才能拿到json字符串进行解析,如果不加,响应体中就没有放入json字符串,前台自然是拿不到数据的,希望大家别理解错。


解决方法:

2.1 第一种解决方法

@RequestMapping(value = "/xxx",produces = "application/json;charset=utf-8")

加入了produces = "application/json;charset=utf-8"

这种方法一般就可以解决问题了,真不行就下面这种

2.2 第二种解决方法

上一种方法比较麻烦,如果项目中有许多请求则每一个都要添加,可以通过Spring配置统一指定,这样就不用每次都去处理了

1.导入依赖:

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.9</version>
</dependency>
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.9</version>
</dependency>

2.在springmvc.xml中配置

    <mvc:annotation-driven><mvc:message-converters><bean class="org.springframework.http.converter.StringHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/plain;charset=UTF-8</value><value>text/html;charset=UTF-8</value></list></property></bean><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name="supportedMediaTypes"><list><value>application/json;charset=UTF-8</value></list></property></bean></mvc:message-converters></mvc:annotation-driven>

基本上问题就解决了

个人博客为:
MoYu’s Github Blog
MoYu’s Gitee Blog

springmvc字符 中文乱码问题相关推荐

  1. SpringMVC解决中文乱码问题

    标题:SpringMVC解决中文乱码问题 当我们在使用SpringMVC时也许会碰到前端提交的数据或者数据库中取出来的数据变成乱码,下面提供几种方式来解决. 乱码是怎么产生的 我们自定义一个form表 ...

  2. 完美解决c# 连接oracle US7ASCII字符中文乱码 亲测

    客户端:win10 64位 vs2017,服务器端linux oracle US7ASCII字符. 因单位数据编码不能改变,故测试了很多办法,真是找了很多解决,最终找到了比较可以的一个. 1.下载do ...

  3. SpringMVC 解决中文乱码的过滤器

    <!--配置解决中文乱码问题的过滤器--><filter><filter-name>characterEncodingFilter</filter-name& ...

  4. SpringMVC redirect中文乱码问题

    在使用"redirect:xxx.do?param=中文"时会出现乱码问题,解决方案如下: 使用model.addAttribute来替代直接拼接参数.如下: @RequestMa ...

  5. Springmvc中文乱码问题

    Springmvc的中文乱码问题主要是两部分,请求乱码和响应乱码.而解决的方法就是将字符集设置为 UTF-8 1.请求乱码 Get请求乱码 如果使用的是Tomcat 8及以上的版本,无需设置Tomca ...

  6. pb mysql 中文乱码_解决springmvc+mybatis+mysql中文乱码问题

    近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码 最初在mybatis配置如下 select text from News where id=#{o} 其中表New ...

  7. 使用SpringMVC参数传递时,解决get请求时中文乱码的问题

    问题描述: 使用SpringMVC参数传递时, 遇到get请求中文信息时,页面应答会显示中文乱码. 解决办法: 一, 我们需要把request.getParameter("参数名" ...

  8. SpringMVC配置静态资源加载, 中文乱码处理,注解驱动

    常规配置(Controller加载控制) SpringMVC的处理器对应的bean必须按照规范格式开发,未避免加入无效的bean可通过bean加载过滤器进行包含设定或排除设定,表现层bean标注通常设 ...

  9. 用SpringMVC参数传递时,解决get请求时中文乱码的问题

    问题描述: 使用SpringMVC参数传递时, 遇到get请求中文信息时,页面应答会显示中文乱码 解决办法: 方法一 把request.getParameter("参数名")获取到 ...

最新文章

  1. 3、LVS_TUN实现负载均衡
  2. java synchronized关键字
  3. 如何将四元数方向转化为旋转举证_旋转表示法(持续更新)
  4. ssh作业批改系统_如何看待「全国至少十省份叫停家长批改作业」?能否从根源解决问题?...
  5. fastcopy会损坏硬盘_硬盘坏了数据可以修复吗?恢复技巧都在这!
  6. 激光炸弹(二维前缀和问题)
  7. uml类图例子_转:(中文命名)UML类图新手入门级介绍
  8. 狂人传记:戎马半生 何以安家
  9. Yii Framework2.0开发教程(7)账户注册开发
  10. java中蓝色是多少_JAVA几个常见错误简析
  11. dnf php的补丁放哪,DNF模型文件在哪 补丁玩家必备知识
  12. 深圳大学本科毕业论文答辩PPT模板
  13. JSF 的el表达式语言
  14. Jetson TX2 学习笔记(2) —— 挂载外接硬盘与分区
  15. 学习Vue3 第二十五章(TSX)
  16. 程序员的价值观与网络的复杂性
  17. 查看树莓派I2C设备是否正常
  18. ESP32定时器睡眠模式
  19. 微信企业邮箱登陆入口在哪?企业邮箱忘记密码怎么修改?
  20. Html5--(span标签)

热门文章

  1. #硬件 #资讯 #科普 #短报 SSD价格跳水根本停不下来,不断刷出新低
  2. Redis思维导图分享(包含详细知识点)
  3. 计算机电缆编织密度标准,计算机电缆执行标准
  4. mutations的类型常量
  5. 三星Note3 S搜索功能如何使用
  6. AtCoder Regular Contest 067
  7. c语言scanf返回值问题
  8. xftp无法连接到虚拟机CentOS7
  9. MySQL索引面试题详细解析
  10. php字符串里含有全角符号,php将字符串中全角字符转换为半角字符_PHP教程