这两天总是被编码问题所困扰,页面上的汉字就是不能正常传入controller,gb2312、iso8859_1、utf-8三种编码犹如三味真火炙烤着我。不过浴火重生的我最终还是暂时搞定了这个问题。
首先说一下我遇到的问题。我的开发环境是中文windows XP+Tomcat(这样介绍开发环境不太合适,不过影响到编码的主要涉及到这两个),页面jsp指定的是gb2312编码,问题就发生在将页面上的汉字提交到服务器后台的时候。
汉字-->encodeURIComponent(汉字)-->Spring Filter "utf-8"-->String foo= req.getParameter("***");-->new String(foo.getBytes("foo1"),"foo2");
上面是汉字的处理流程,关键是foo1,foo2的取值。encodeURIComponent()将汉字编码成实体字符%xy,然后传给后台服务器,在后台接受数据时应该选择foo1=iso8859_1,foo2=utf-8的组合才可以在这种情况下获得阅读全文>
发表于 @ 2006年09月29日 01:56:00|评论(loading...)|编辑