java到js的中文无法显示,中文显示位(?)

今天遇到这么一个问题,用js调用java的get请求,得到的json数据中中文无法正常显示,jsp文件中都是申明utf-8格式的,查询了一番,发现问题出现在@ResponseBody上

@ResponseBody默认的编码格式为ISO-8859-1,需要修改,在@GetMapping中加入produces的内容

参考:springmvc @ResponseBody乱码,兼容UTF-8格式

java代码

@Controller
public class ExamController {
    @Autowired
    private ExamService examService;
    
    @GetMapping(value = "/getPaper", produces = "application/json; charset=utf-8")
    @ResponseBody
    public String getPaper(HttpSession session) {
        Paper paper = null;
        try {
            paper = this.examService.getPaper();
        }catch(SystemException e){
            session.setAttribute("msg", e.getMessage());
        }catch(Exception e1) {
            e1.printStackTrace();
        }
        System.out.println(paper.toString());
        return paper.toString();
    }
}
上一篇:操作文件Excel(xlsx格式)


下一篇:SpringMVC @Controller和@RestController注解的区别