问题描述:
1、控制层Controller的一个返回要求返回JSON串给JSP页面调用。
2、JSON返回到页面的时候,中文全是??????(问号)。
//这是控制层的方法,打了两个注解@RequestMapping,@ResponseBody
@RequestMapping("/test")
@ResponseBody
public String test() {
return "这是中文.";
}
3、在浏览器中直接访问,这个/test路径,结果页面显示“??????”
解决方法:
1、修改@RequestMapping注解中的参数,加上produces这个参数。
@RequestMapping(value="/test",produces="text/html;charset=UTF-8")
2、如果这个控制层的方法所在的类,在声明的时候,也有@RequestMapping这个注解,那么只需要在这个注解加上步骤一的参数即可。(如果在方法中加这个参数,但是方法所在类的声明中没有加,则还是出现中文乱码。)
3、最后一步,清理浏览器缓存即可。结果如下。

备注:应该还有其他更好的方法,找到再补充。
本文介绍了一种在使用@RequestMapping和@ResponseBody注解返回JSON数据时,解决中文字符乱码的方法。通过在注解中添加produces参数指定编码为UTF-8,并清理浏览器缓存,可以有效避免中文乱码问题。
473

被折叠的 条评论
为什么被折叠?



