用ajax传递json,返回前台的中文乱码问题
java项目中用ajax传递json,返回前台时中文出现问号(乱码问题)的解决办法
首先看一下没有解决前的状态:
我用的框架是ssm,在springMVC中我配置了编码格式为utf-8,每个jsp页面也用了utf-8,
在利用ajax向后台提交的时候也定义了dataType: applicaption / json,但返回到前台依旧是问号,后台显示没有问题
后来找资料,才发现了问题的所在:
因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码。
这里我的解决方法是:
@RequestMapping(value = "/login" , method = RequestMethod.POST , produces = "application/json; charset=utf-8") @ResponseBody
之后看返回前台的json
所以这个问题也就解决了!欢迎阅读本文,如果有什么问题可以留言,争取第一时间回复你,谢谢!