解决页面间传递中文出现乱码的问题

本文介绍了一种通过自定义过滤器解决Web应用中页面间传递中文字符出现乱码的方法。该方法通过设置请求和响应的字符编码为UTF-8来确保中文字符正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决页面间传递中文出现乱码的问题

java 代码

    public class CharactorEncodingFilter implements Filter {   
      
        private String charactorEncoding;   
           
        private static final String CHARACTOR_ENCODING_PARAMETER_NAME = "charactorEncoding";   
                
        public void destroy() {
        }   
   
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)    
                throws IOException, ServletException {   
            request.setCharacterEncoding(this.charactorEncoding);   
            response.setCharacterEncoding(this.charactorEncoding);   
            chain.doFilter(request, response);   
        }   
      
        public void init(FilterConfig filterConfig) throws ServletException {   
            this.charactorEncoding = filterConfig.getInitParameter(CHARACTOR_ENCODING_PARAMETER_NAME);   
        }   
           
    }  

    然后在web.xml中使用这个Filter
xml 代码

     <filter>  
       <description>处理中文化问题</description>  
       <filter-name>charactorEncodingFilter</filter-name>  
       <filter-class>  
         cn.com.hjy273.web.util.CharactorEncodingFilter   
       </filter-class>  
       <init-param>  
         <param-name>charactorEncoding</param-name>  
         <param-value>UTF-8</param-value>  
      </init-param>  
    </filter>  
      
    <filter-mapping>  
      <filter-name>charactorEncodingFilter</filter-name>  
      <url-pattern>*.do</url-pattern>  
    </filter-mapping>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值