首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

上传文件的文件时,文件名变成乱码了,小弟我用jspsmart.upload组件上传文件时,文件名变成乱码了

2012-02-19 
上传文件的文件时,文件名变成乱码了,我用jspsmart.upload组件上传文件时,文件名变成乱码了?代码login.jsp/

上传文件的文件时,文件名变成乱码了,我用jspsmart.upload组件上传文件时,文件名变成乱码了?
代码
login.jsp
///////////////////////////////////////////////////////
<%@   taglib   uri= "http://java.sun.com/jsf/core "   prefix= "f "   %>
<%@   taglib   uri= "http://java.sun.com/jsf/html "   prefix= "h "   %>
<%@   taglib   uri= "http://myfaces.apache.org/tomahawk "   prefix= "t "%>
<%@   page   import= "util.HTMLFilter,java.util.ArrayList "     %>
<%@   page   language= "java "   contentType= "text/html;   charset=UTF-8 "
        pageEncoding= "UTF-8 "%>
<%@   page   import= "org.apache.commons.fileupload.* "%>
<%@   page   import= "java.util.* "%>
<%@   page   import= "java.io.*,com.jspsmart.upload.* "%>
<html   xmlns= "http://www.w3.org/1999/xhtml ">
<link   REL= "SHORTCUT   ICON "   href= "images/pbi_logo.gif ">
<f:loadBundle   basename= "#{headerMgrBean.languageFileName} "
var= "customLanguge "> </f:loadBundle>
<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=UTF-8 ">
<link   href= "default.css "   rel= "stylesheet "   type= "text/css "/>
<style   type= "text/css ">
<!--
BODY   {
BACKGROUND-COLOR:   #cccccc
}
.STYLE3   {font-family:   Arial,   Helvetica,   sans-serif}
-->
</style>
</head>

<body     style= "TABLE-LAYOUT:   fixed;   WORD-BREAK:   break-all "   topMargin=6  
marginwidth= "10 "   marginheight= "10 ">


                <p   align= "center "> <font   color= "#660000 "   size= "5 "   face= "隶书 "> 上传文件选择 </font> </p>
<form   method= "post "   ACTION= "7-7.jsp "   enctype= "multipart/form-data ">
<input   type= "hidden "   name= "Test "   value= "good "   />
<table   width   = "75% "   border= "1 "   align= "center ">
<tr> <td>
<div   align= "center "> 1.
<input   type= "file "   name= "FILE1 "   size= "30 "   > </div>
</td> </tr>
<tr> <td>
<div   align= "center "> 2.
<input   type= "file "   name= "FILE2 "   size= "30 "   > </div>
</td> </tr>
<tr> <td>
<div   align= "center "> 3.
<input   type= "file "   name= "FILE3 "   size= "30 "   > </div>
</td> </tr>
<tr> <td>
<div   align= "center "> 4.
<input   type= "file "   name= "FILE4 "   size= "30 "   > </div>
</td> </tr>
<tr> <td>
<div   align= "center ">
<input   type= "submit "   name= "Sumit "   value= "上传 "   >


</div>
</td> </tr>
</table>
</form>
</body>
</html>

///////////////////////////////////////////////////

7-7.jsp
///////////////////////////////////////////////////
<%@   page   language= "java "   contentType= "text/html;   charset=gb2312 "
        import= "java.util.*,com.jspsmart.upload.* "%>
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN ">
<html>
<head>

<title> Insert   title   here </title>
</head>
<body>
<%
SmartUpload   su=new   SmartUpload();
su.initialize(pageContext);
su.upload();
int   count=su.save(request.getRealPath( " ")+ "/WEB-INF/upload/ ");
out.println( "TEST   = "+su.getRequest().getParameter( "Test ")+ " <BR> <BR> ");
for(int   i=0;i <su.getFiles().getCount();i++)
{
com.jspsmart.upload.File   file=su.getFiles().getFile(i);
if(file.isMissing())continue;
out.println( " <table   border=1> ");
out.println( " <tr> <td> Form(FieldName) </td> <td> "+file.getFieldName()+ " </td> </tr> ");
out.println( " <tr> <td> file   size </td> <td> "+file.getSize()+ " </td> </tr> ");
out.println( " <tr> <td> file   name </td> <td> "+file.getFileName()+ " </td> </tr> ");
out.println( " <tr> <td> file   Ext </td> <td> "+file.getFileExt()+ " </td> </tr> ");
out.println( " <tr> <td> file   all   name </td> <td> "+file.getFilePathName()+ " </td> </tr> ");
out.println( " </table> <br> ");
}
%>
</body>
</html>
///////////////////////////////////////////////////
如果我上传   贺爽6.18-6.22   周报.xls   变成了   璐虹埥6.18-6.22   鍛ㄦ姤.xls   英文没事,这是怎么回事啊

[解决办法]
request.setEncoding( "GBK ");
[解决办法]
我们今天讲了这个,但是程序不太复杂,我是将东西用的gb2312。我写了个过滤器,用的也是gb2312的编码你试一下
[解决办法]
我的不会啊,
你看看自带的demo看看
[解决办法]
http://blog.csdn.net/qiudawei115里面有一片 关于这个的,再jsp分类中
[解决办法]
TOMCAT默认情况下是不支持中文文件名的访问的,你必须对它使用的编码进行修改,需要在server.xml中的 <Connector> 元素中添加一个设置选项
URIEncoding= "UTF-8 " useBodyEncodingForURI= "true "

热点排行