javaweb中文乱码

乱码在项目开发中是很常见的一个问题,各种各样。。。

今天我就遇到了一个关于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();
}

在这里,推荐一篇很不错的博文,是关于各种类型的乱码及解决方法。

https://blog.csdn.net/bbb695480667/article/details/53789968

猜你喜欢

转载自blog.csdn.net/weixin_40106067/article/details/81709919