首先看一下你的web项目乱码属于那一种症状
一:页面乱码(数据库,class中的数据是正常的,但在视图层显示却乱码)
乱码原因:1:jsp解析编码与jsp编码设置不一样。
2:response(应答)编码与jsp解析编码不一致,或者是没有对response做编码设置。
举例说明:1:如图所示
charset="iso-8859-1" 表示本jsp的解析编码为iso-8859-1;
pageEncoding="UTF-8" charset="UTF-8" 都表示本jsp的字符编码为UTF-8;
1 导致结果: 1应该结果:
2导致结果: 2 应该结果:
解决方案:1:将jsp解析编码修改为"UTF-8";
2.1:在jsp中添加 <%response.setCharacterEncoding("UTF-8"); %>
2.2 :写一个拦截器 filter (见文章《struts1 一个很简单的登录演示》)
二:控制台打印乱码(视图层正常参数传到业务逻辑层时,业务逻辑层出现乱码)
乱码原因:1:系统语言不支持中文 。
2:request(请求)编码与class编码不一致,或者是没有对request做编码设置。
举例说明:1,2:如图所示
1 导致结果: 2 应该结果:
解决方案:1:最好是将系统语言修改为 “中文(简体 中国) ”
2.1:在jsp中添加 <%request.setCharacterEncoding("UTF-8"); %>
2.2 :写一个拦截器 filter (见文章《struts1 一个很简单的登录演示》)
三:数据库乱码(在视图层添加显示正常的记录到数据库时,数据库中查询的值为乱码)这里以mysql为主
乱码原因:1:没有对连接方式设置编码 或者编码不一致 。
2:没有对脚本设置编码 或者编码不一致。
解决方案:1:
2: