在插入数据的时候出现了中文乱码,解决方法是

我在这里直接贴出代码

在DAO下创建CharacterEncodingFilter.java类,代码如下:

 

  1. package dao; 
  2.  
  3. import java.io.IOException; 
  4.  
  5. import javax.servlet.Filter; 
  6. import javax.servlet.FilterChain; 
  7. import javax.servlet.FilterConfig; 
  8. import javax.servlet.ServletException; 
  9. import javax.servlet.ServletRequest; 
  10. import javax.servlet.ServletResponse; 
  11.  
  12. public class CharacterEncodingFilter implements Filter { 
  13.  
  14.      
  15.     public void destroy() { 
  16.         // TODO Auto-generated method stub 
  17.  
  18.     } 
  19.  
  20.      
  21.     public void doFilter(ServletRequest request, ServletResponse response, 
  22.             FilterChain chain) throws IOException, ServletException { 
  23.         // TODO Auto-generated method stub 
  24.         request.setCharacterEncoding("utf-8");   
  25.         chain.doFilter(request, response);  
  26.     } 
  27.  
  28.  
  29.     public void init(FilterConfig filterConfig) throws ServletException { 
  30.         // TODO Auto-generated method stub 
  31.  
  32.     } 
  33.  

并且配置web.xml文件,配置如下:

 

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
  3.   <servlet> 
  4.     <servlet-name>action</servlet-name> 
  5.     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 
  6.     <init-param> 
  7.       <param-name>config</param-name> 
  8.       <param-value>/WEB-INF/struts-config.xml</param-value> 
  9.     </init-param> 
  10.     <init-param> 
  11.       <param-name>debug</param-name> 
  12.       <param-value>3</param-value> 
  13.     </init-param> 
  14.     <init-param> 
  15.       <param-name>detail</param-name> 
  16.       <param-value>3</param-value> 
  17.     </init-param> 
  18.     <load-on-startup>0</load-on-startup> 
  19.   </servlet> 
  20.   <servlet>    
  21.         <servlet-name>InitServlet</servlet-name> 
  22.         <servlet-class>servlet.InitServlet</servlet-class> 
  23.         <load-on-startup>0</load-on-startup> 
  24.   </servlet>  
  25.   <servlet-mapping> 
  26.     <servlet-name>action</servlet-name> 
  27.     <url-pattern>*.do</url-pattern> 
  28.   </servlet-mapping> 
  29.   <welcome-file-list> 
  30.     <welcome-file>noticelogin.jsp</welcome-file> 
  31.   </welcome-file-list> 
  32.   <filter>   
  33.     <filter-name>characterEncoding</filter-name>   
  34.     <filter-class>dao.CharacterEncodingFilter</filter-class>   
  35.   </filter>   
  36.   <filter-mapping>   
  37.     <filter-name>characterEncoding</filter-name>   
  38.     <url-pattern>/*</url-pattern>   
  39.   </filter-mapping>  
  40.    
  41.   <!--   
  42.   <session-config> 
  43.     <session-timeout>15</session-timeout> 
  44.   </session-config> 
  45.     
  46.   <filter>    
  47.   <filter-name>sessionfilter</filter-name>    
  48.   <filter-class>dao.SessionFilter</filter-class>    
  49.   </filter>    
  50.   <filter-mapping>    
  51.   <filter-name>sessionfilter</filter-name>    
  52.   <url-pattern>/*</url-pattern>    
  53.   </filter-mapping>   
  54.   --> 
  55. </web-app> 

在jsp页面中的调用时

 

  1. request.setCharacterEncoding("UTF-8"); 

在类中调用时:

 

  1. request.setCharacterEncoding("UTF-8");