1、
1.1、tomcat 7 默认是 ISO-8859-1编码(单字节编码)
1.2、如果使用这个编码的话,(个人猜测)tomcat无法管理相关的中文名的文件(包括 中文名的图片 等)
1.3、∴ 需要设置 tomcat的编码为 能容纳中文的 编码方式。
2、
尝试倒腾的测试代码:
思路:本来,utf-8页面(jsp) 传来的jpg文件名是 utf-8编码的,传到服务器后找不到相应的图片。于是,想通过 过滤器,转换 编码,使得tomcat能够找到 服务器上相应的图片。
过滤器的 doFilter函数:
1 @Override 2 public void doFilter(ServletRequest _request, ServletResponse _response, 3 FilterChain _chain) throws IOException, ServletException 4 { 5 // ZC: 打印所有的传入参数 6 /* Enumerationenum1 = _request.getParameterNames(); 7 while (enum1.hasMoreElements()) 8 { 9 String strName = enum1.nextElement().toString();10 String strValue = _request.getParameter(strName);11 System.out.println(strName+"--------------"+strValue);12 }13 System.out.println("");14 */15 /* 16 String strCeShi = "测试";17 byte[] bytes = strCeShi.getBytes("gbk");18 System.out.println("GBK :");19 for (int i=0; i
经过的折腾:
1、对 "((HttpServletRequest)_request).getRequestURI()" 做各种编码转换的折腾
2、将 tomcat的 编码方式 设置为 "gbk"/"utf-8"
得到的不理想的结论:
1、不管怎么弄,想要 tomcat能够找到 中文的图片,至少 tomcat得是 能够容纳中文的编码方式,否则就是扯淡...
2、由于上一条结论,那还做什么编码转换啊...直接 网页页面 和 tomcat 都设置成 utf-8 就行了
3、暂时(20151207)的理解是这样...以后看,还有别的理解不...
测试代码保存于:百度云 CodeSkill33 --> > java_测试_code_zc --> JpgNameWithChinese__Work_20151207_1612.rar