急急急~!!jsp中用session.getAttribute获取的参数出现乱码

我在前页中设置了String name =(String)session.getAttribute("name");
session.setAttribute("name",name);但在当前页中用String name =(String)session.getAttribute("name");
获取的这个username有中文的,获取name时候会出现乱码如:???
加了name = new String(name.getBytes("ISO-8859-1"));也不行!!!
死掉,还是不行哦,谁肯给我邮箱地址或者Q号,我把代码发过给你们帮忙看看!不胜感激
小弟是个菜鸟!dofilter方法怎样去设置呢???
我很想尽快搞定,但四楼朋友你说得不对哦!
我按你那方法做了,全部都乱码了

#############################补充一下########
filter servlet是一个特殊的servlet,是j2ee实现的一个拦截器,他能在调用其他servlet之前调用他,用来做信息拦截、字符处理等事情。。。。

首先弄一个类,实现filter接口,然后实现dofilter方法,里面的对于request类型的参数,调用里面设置字符编码的方法,ide里都会有的。。。好像是setcharencoding什么的,具体不记得了。看api。。。。

然后在web。xml部署,<filter></filter>里面写上部署的filter,然后<filter mapping></....>里面写上/*表示对于所有的servlet都进行拦截。。。

filter是sun自己实现的web中的aop组件。。

##############

方法不对。而且你编码也设置错了。gb2312或者utf8才对。。。

解决方法是使用filter servlet。
在dofilter方法里面,设置request的charset为gb2312就行了。。。

不可能解决不了。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-23
name = new String(name.getBytes("ISO-8859-1"),"gb2312");

page属性也设置gb2312... 难道还不行?
第2个回答  2008-08-23
用过滤器,在dofilter方法里面将request和response的编码都设置成跟你页面一致的编码,但是不要设置成iso-8859-1,这个不是中文编码,当然会出乱码了
第3个回答  2008-08-23
页面开头都改成<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> set的时候session.setAttribute("name","某某");
取得时候用(String)session.getAttribute("name")去取,不用加编码的转换就成
相似回答