今天遇到这么一个问题,用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();
}
}