java 读取数据库中文信息,为何在jsp页面中出现乱码

时间:2021-09-24 06:33:11
有如下几种解决办法:

1、保证项目的字符编码和每一个jsp页面的字符编码一致,如果不一致可能导致中文乱码问题<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2、编写Filter过滤器,在过滤器的过滤方法doFilter中写
request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

web.xml中配置如下信息,过滤全部请求
<filter>
<filter-name>characterFilter</filter-name>
<filter-class>自定义Filter类的全限定类名</filter-class>
</filter>
<filter-mapping>
<filter-name>characterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、在 web.xml 中加入jsp配置信息
<jsp-config>
<jsp-property-group>
<description> For config the web application </description>
<display-name>JSPConfiguration</display-name>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
在jsp中
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
以上三种方式均可以实现,建议选择第二种方式,针对任意请求,jsp和servlet都可以解决中文问题