一.问题描述
练习jsp的el表达式时,网页上的中文出现乱码
源码:
网页:
查阅jsp和servlet相关乱码问题都未解决
二.解决方法
解决封装到request域中的对象的中文数据乱码的问题:实际是将对象添加到集合中就已经出现中文乱码(控制台打印集合可知),由此得是对象添加时的问题,解决方法如下:
1.将全局编码格式设为UTF-8
2.在JavaBean中继承Serializable接口实现序列化唯一问题
3.
三.心得:
1.对web网页类的代码也可以控制台输出调试,分析问题来源,如此处问题不在jsp页面乱码而是对象序列化问题
2.了解序列化问题导致的对象数据乱码
3.了解到了jsp,request和response中的乱码问题,参考:
https://blog.csdn.net/qq_40587575/article/details/79818477
四.补充Json乱码
response输出json数据时乱码,如下设置编码格式即可解决:
//获取数据
List<Brand> brands = new BrandService().selectAll();
//转为JSON
String s = JSON.toJSONString(brands);
//设置输出编码形式
response.setContentType("text/json;charset=utf-8");
//写出JSON
response.getWriter().write(s);
注:参数中是 ;相隔,不是 ,