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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值