为了通用,从头到尾都是utf-8. 
而webwork中JakartaMultiPartRequest对于多编码的处理并不如意.
apache的fileupload对于上传文件名为中文的需要首先指定HeaderEncoding的编码.
而webwork对于MultiPartRequest的request并没有设置encoding编码
详见DispatcherUtils.java中 387行
		
				 
				 if
				 (encoding 
				!=
				 
				null
				 
				&&
				 
				!
				MultiPartRequest.isMultiPart(request))
				        
				if
				 (encoding 
				!=
				 
				null
				 
				&&
				 
				!
				MultiPartRequest.isMultiPart(request)) 
				
						 {
				
				
						{

 try
            
						try
						 
						
								 {
						
						
								{
 request.setCharacterEncoding(encoding);
                request.setCharacterEncoding(encoding);

 }
						
						 
						catch
						 (Exception e)
            }
						
						 
						catch
						 (Exception e) 
						
								 {
						
						
								{
 LOG.error(
								"
								Error setting character encoding to '
								"
								 
								+
								 encoding 
								+
								 
								"
								' - ignoring.
								"
								, e);
                LOG.error(
								"
								Error setting character encoding to '
								"
								 
								+
								 encoding 
								+
								 
								"
								' - ignoring.
								"
								, e);
 }
            }
						
						
								
								 }
        }
				
		 
		如果没有指定HeaderEncoding, 那么默认采用request的encoding,如果request也没有指定则采用系统的编码.
这里并没有指定request的encoding,往往导致上传文件的名字乱码.
自定义一个MultiPartRequest,设定一下就ok了
对于同时提交的表单域(form)参数,由于在form中指定的enctype的关系,并不能直接用request.getParameter()才取, 只能通过FileItem.getString()的方式.这里也是上面的问题, 取的CharacterEncoding是request中的,由于webwork的原因不一致.同样需要指定一下.
这样form和上传同时提交,参数,附件名都正常了 :)