jsp页面显示中文为问号的问题(乱码问题)

1、jsp页面里面本身就有的中文字能正常显示2、通过url访问该jsp,传中文的参数,获取后也能正常显示通过过滤器的dispatcher.forward跳转来的的url中... 1、jsp页面里面本身就有的中文字能正常显示
2、通过url访问该jsp,传中文的参数,获取后也能正常显示

通过过滤器的dispatcher.forward跳转来的的url中文的参数就显示为问号了,这怎么解决?
RequestDispatcher dispatcher=request.getRequestDispatcher("/error.jsp?errorMsg="+java.net.URLEncoder.encode(ss,"GBK"));
dispatcher.forward(request, response);

以上是我改过很久后仍不成功的一段失败代码,请问怎么解决?

我把相关的几句代码都贴出来,可以看一看
if(comeIP.equals(comeIP2)){JOptionPane.showMessageDialog(null, "你的IP是127.0.0.1,所以禁止访问");dispatcher.forward(request, response);return;}
if(comeIP.indexOf(comeIP1)>=0){dispatcher.forward(request, response);return;}
展开
 我来答
通灵跃
2011-12-13 · TA获得超过733个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:99.9万
展开全部
“通过url访问该jsp,传中文的参数,获取后也能正常显示”:我觉得你这句话应该也不成立。
更多追问追答
追问
我的意思是说,手动在地址栏输入参数,并且赋一个中文的值。
然后页面获取后能正常显示中文

我试了的,确实可以。
你别怀疑我啊,帮我找找错误
追答
你在服务器端是如何读取你所传递的中文参数的。我想先了解一下情况以作判断。
ec_boy_hl
2011-12-13 · 超过20用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:44.1万
展开全部
可能是过滤器中改变了编码方式,你在过滤器中测试一下就知道了!
更多追问追答
追问
我刚才进一步测试了下
因为dispatcher.forward是隐式跳转的,就是看不到url地址的,url地址栏那儿仍显示调用触发器的那个jsp,所以我换成了response.senRedirect,结果我发现地址栏那的参数也是问号

说明jsp页面多半没问题,问题在过滤器中。传值都传成问号了

可是,过滤器里我确实用的GBK啊,并且各种方法都试过一遍了的。
追答
嗯,那你测试一下过滤器呗
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式