中文图片不能加载的处理解决方案

中文图片名不能加载的处理解决方案

在实际部署中,我们经常遇到图片不能正常加载的问题;经过层层问题定位,问题定位也就是中文编码问题。

1:中文编码过滤器

1.1 自定义滤器

public class CharactorFilter implements Filter { //继承Filter类
    //字符编码
    String encoding=null;

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        if(encoding!=null){
        //设置request字符编码
            request.setCharacterEncoding(encoding);
         //设置response字符编码
            response.setContentType("text/html;charset="+encoding);
        }
     //传递给下一个过滤器
        chain.doFilter(request, response);

    }

    public void init(FilterConfig filterConfig) throws ServletException {
      //获取初始化参数
        encoding=filterConfig.getInitParameter("encoding");

    }

    public void destroy() {
        // TODO Auto-generated method stub
        encoding=null;
    }

}

1.2 配置web.xml

      
    CharactorFilter    
   cn.com.Filter.CharactorFilter    
          
         encoding    
         utf-8     
     
  
   
      CharactorFilter   
      /*  
      

1.3 如果是springmvc

注意:注册bean,然后再去配置

      
    CharactorFilter    
   org.springframework.web.CharacterEncodingFilter  
          
         encoding    
         utf-8     
     
          
         forceEncoding    
         true     
     
 
  
      CharactorFilter   
      /*  
 

2:tomcat 设置

在tomcat的server.xml中加入URIEncoding=“utf-8” (网页的编码是utf-8)

   

你可能感兴趣的:(tomcat)