DEBUG关于SpringMVC的返回响应体文本json两种数据的乱码问题

Posted 写Bug的渣渣高

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DEBUG关于SpringMVC的返回响应体文本json两种数据的乱码问题相关的知识,希望对你有一定的参考价值。

项目场景:

SpringMVC


问题描述:

在使用SpringMVC使用Handler返回一个响应体数据时,返回json或者是文本,只要是Response返回的这两种格式的汉字部分都会乱码

原因分析:

未设置Response的响应的字符集
我们在SpringMVC中使用的Response注解内部是空的,没有办法设置响应字符集


解决方案:

  1. 当返回响应体数据包含乱码时,在@RequestMapping注解中设置
    produces属性给响应体设置内容类型
@ResponseBody
@RequestMapping(value = "/ajax/get/message", produces = "text/html;charset=UTF-8")
  1. 如果返回 JSON 数据时遇到乱码问题,那么内容类型应设置为:application/json;charset=UTF-8
    这里需要注意:JSON 属于 application 这个大类,不属于 text
@ResponseBody
@RequestMapping(value = "/ajax/get/entity", produces = "application/json;charset=UTF-8")

以上是关于DEBUG关于SpringMVC的返回响应体文本json两种数据的乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

Java中的response响应体和文件下载

Java中的response响应体和文件下载

Servlet学习——通过response设置响应体及中文乱码问题

我们如何在 Spring Boot Filter 中获取和设置响应体

利用SpringMVC拦截器控制Controller返回值

SpringMVC返回JSON数据以及文件上传过滤静态资源