急 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了