日期:2014-05-18  浏览次数:20681 次

急 jspSmart上传中文文件名乱码怎么办?
SmartUpload   up   =   new   SmartUpload();  
up.initialize(pageContext)   ;  
up.service(request,response)   ;  
up.upload()   ;  
File   f=up.getFiles().getFile(0);  
String   fname   =   f.getFileName();   //文件名  
fname=   fname.substring(0,fname.indexOf( ". "));  
System.out.println( "fname   = "+fname);  

如果文件名是“月亮”,就显示“链堜寒”,  
我用URLEncode和URLDecode也不管用,  
怎么办呀?*_*

------解决方案--------------------
好像要改动源代码
------解决方案--------------------
在首句
request.setCharacterEncoding( "gb2312 ");


------解决方案--------------------
up.upload(gbk) ;把源代码里这个方法改下,我也遇到相似问题
------解决方案--------------------
注意保存jsp时,转换器也要设置UTF-8(另UTF-8 注意大小写)
------解决方案--------------------
偶在做的时候也遇到累似问题,偶是这样的解决的。
在客户端提交之前把有中文的所有表单用js编码之后赋值给一个隐藏域。然后再服务器端接收隐藏域的值解码。就ok了