技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  用jscript对表单数据进行utf-8编码(无奈之下的做法)     
  文章作者:未知  文章来源:水木森林  
  查看:339次  录入:管理员--2007-11-17  
 

代码:
<sccript>
for(i=0;i<_input.length;i++){
   if(_input[i].type=="text"){
    _input[i].value=encodeuri(_input[i].value);
   }
  }
  for(i=0;i<_text.length;i++){
   _text[i].value=encodeuri(_text[i].value);
  }
  uploadform.action="uploadaction.do";
                //uploadform.action="testupload.jsp";
  uploadbegin();
  uploadform.submit();
</script>
这里先对表单里的数据进行编码.encodeurl这个方法转出来的编码是utf-8的.

然后在后台的上传程序里在对他进行解码
if (item.isformfield()) {
          field.add(urldecoder.decode(item.getstring(),"utf-8"));
 }

问我为什么要这么做?说起来偶也非常的郁闷.在一个上传的程序中.表单里提交的field数据在后台接收的时候全都变成了乱码(???).滤镜和用new string的方式进行转码我都试过了.(其他的表单提交程序不会出现乱码问题.我的页面到数据库都是gb2312的编码,包括滤镜).
我觉得有两种可能会出现这种情况:一是weblogic自己对我提交的数据不知道做了什么编码,还有一种可能就是fileupload这个jar包内部对requst的数据进行了编码.但乱码问题只是出现在liunx的平台上.

无奈之下我只好在提交前对数据进行utf-8编码.没想到乱码问题竟然解决了.但我还是不知道什么原因会导致这种情况.而java无法在提交前对数据进行编码,特别是在field个数不确定的情况.只好用jscript提供的函数进行编码了.上面的程序不是最理想的.因为在提交的那一时间里用户会看到field的数据都变成了utf-8.可能会让用户感觉到不是很友好.解决的方法是用hidden框去提交数据.

 
 
上一篇: 快速在应用程序中将文件压缩成zip格式文件    下一篇: jetspeed开发文档2
  相关文档
迈博科技推出ubox广域协同工作系统 11-17
设计模式(1)factory模式和abstract factory模式 11-17
struts构建文件上传(8) 11-17
利用java实现zip压缩/解压缩(1) 11-17
生成可双击运行的jar文件 11-17
eclips使用秘技(绝对经典) 11-16
sybase企业级数据库系统——ase12 11-16
struts框架 11-17
java中this的使用 11-17
如何进入程序设计的领域 11-16
jbuilder 2005代码审查功能体验 11-17
servlets,jsp和servlet engines入门(二) 11-17
xml和j2ee的组合技术 11-17
java应用热遍全球 11-17
j2se综合:在java程序中截获控制台输出 11-16
泛型爪哇(generic java) 11-17
【开发框架】tapestry4.1中注入httprequest 11-16
开发设计模式——asp.net中实现观察者模式 (1) 09-12
初学者入门经典:java环境配置大全 11-17
java 学习之深入研究类的各种属性 11-17
返回首页 | 关于我们 | J网章程 | JSP空间 | 免责声明 | 常见问题 | JSP空间操作手册

@2005-2012福建JSP技术网 版权所有 闽ICP备09012882号
技术电话:13616026886 谢宁松
邮箱:fjjsp @ vip.163.com 站长QQ,点击这里给我发消息