彻底解决jsp中用SmartUpload上传附件中文乱码问题_第1页
彻底解决jsp中用SmartUpload上传附件中文乱码问题_第2页
彻底解决jsp中用SmartUpload上传附件中文乱码问题_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、彻底解决jsp中用SmartUpload上传附件中文乱码问题最近开发一个基于J2EE平台的DRP项目,其中需要上传下载大量的附件。 项目中所使用的数据库为 Oracle8I ,操作系统和 Web应用服务程序为:开发 环境 Win2000/Tomcat、开发测试环境 Win2000/WebSphere6.0 ,正式环境 Unix/WebSphere6.0 ,正式环境的备用服务器 Linux/WebSphere6.0 。在开发 上传附件中出现了一个很普通很麻烦的问题,就是中文名称乱码问题,根据网上查询的资料,很快解决了环境下的乱码,但环境下依然是乱码。最后, 经过持续一个多月的研究实验,终于找到一

2、种同时满足种环境的解决办 法。基本原理是:(1)、在上传之前,先对要上传的文件名进行编码; (2)、对编码后的文件名解码后,再插入数据库中。基本实现如下面的代码片段, 上传代码: function doFileUpLoad()/使用javascript的函数escape编码后放到域table_name1中 form1.table_name1.value = escape(form1.upFile.value);form1.submit();JSP代码:/获取上传的文件名,并用自编的unescape函数解码table_name1 =CUtil.unescape(mySmartUpLoad.get

3、Request().getParameter(table_name1). toString();/分离目录信息,在数据库中只存储文件名table_name1 = CUtil.extractFileName(table_name1);unescpe函数代码:public static String unescape(String src) StringBuffer tmp = new StringBuffer();tmp.ensureCapacity(src.length();int lastPos = 0, pos = 0, nLen = src.length();char ch;while

4、(lastPos nLen) pos = src.indexOf(%, lastPos);if (pos = lastPos) if (src.charAt(pos + 1) = u) ch = (char) Integer.parseInt(src.substring(pos + 2, pos + 6), 16);tmp.append(ch);lastPos = pos + 6; else ch = (char) Integer.parseInt(src.substring(pos + 1, pos + 3), 16); tmp.append(ch);lastPos = pos + 3; e

5、lse if (pos = -1) tmp.append(src.substring(lastPos);lastPos = nLen; else tmp.append(src.substring(lastPos, pos);lastPos = pos;return tmp.toString();下载处理代码:String FileName = rs.getString(NEWFILE_NAME); 附件存储在服务器上的文件名String oFileName = rs.getString(OLDFILE_NAME); 附件原来的文件名/以下代码的作用是,在浏览器中下载附件时,提示的中文名称不为乱码oFileName = new String(oFileName.getBytes(gb2312),iso8859-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论