乱码在项目开发中是很常见的一个问题,各种各样。。。
今天我就遇到了一个关于response乱码的问题
代码是这样的
@RequestMapping(value="/findUser",produces="application/json;charset=utf-8")
@ResponseBody
public void findUser(User user,Map<String, Object> map) throws Exception{
List<User> list=userService.findUser(user);
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(list));
PrintWriter out=response.getWriter();
out.println(jsonArray);
out.flush();
out.close();
}
一开始没怎么注意,发现前台获取到的关于中文的字符都会出现乱码,
回过头来,仔细看了下,我这里使用了response,但是没有对其进行编码设置
在这段代码里添加:response.setCharacterEncoding("UTF-8");
即可,如下:
@RequestMapping(value="/findUser",produces="application/json;charset=utf-8")
@ResponseBody
public void findUser(User user,Map<String, Object> map) throws Exception{
List<User> list=userService.findUser(user);
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(list));
response.setCharacterEncoding("UTF-8");
PrintWriter out=response.getWriter();
out.println(jsonArray);
out.flush();
out.close();
}
在这里,推荐一篇很不错的博文,是关于各种类型的乱码及解决方法。