jsp 页面间 传参 中文 乱码 问题?

jsp 页面间 传参 中文 乱码 问题?
我有一个1.jsp 其中有一句
a.load("rest/new?groupTitle="+title);
这句话是跳到后台里面去;
title 的内容是中文;
结果到后台里执行
System.out.println(request.getParameter("groupTitle"));
输出的是乱码!!!(title 若不是中文的话一切正常)

后台输出语句改为:
String name = new String(request.getParameter("groupTitle").getBytes("ISO8859_1"),"GBK");
System.out.println(name);
还是输出乱码!!!

我把前台的跳转改为:
a.load("rest/new?groupTitle="+java.net.URLEncoder.encode(title) )
它就跳不到后台去了。
是不是在jsp 中调用这个“java.net.URLEncoder.encode()”要引进什么吗?
怎么解决这个乱码问题。
望赐教!!!!

url传中文..应当尽量避免这么做..因为会乱码..当然如果你所有..所有的地方编码都统一的话就没用问题..但是很难的..建议所有地方都用utf-8..

你可以

String name = new String(request.getParameter("groupTitle").getBytes("ISO8859_1"),"你页面的编码方式");试下..

之所以乱码..因为经过了tomcat..tomcat的默认编码方式是ISO8859_1..所以需要转换一下..tomcat的编码方式也可以设置..这个在tomcat的conf目录下的server.xml里面..
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-14
一般情况下在jsp页面传值出现乱码都是你的编码格式发生错误、一般解决方法有以下几点:
1。如果你是在外部做好html页面才改成jsp的话,应该在放到eclipse后打开先加上以上这段代码。
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>记住你html下面的编码格式也要是gbk的。,然后关掉保存,然后再改名成jsp
这样一般不会出现乱码问题。
2。j在sp中设置pageEncoding="gbk"
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
3。在jsp中使用request对象之前也要request.setCharacterEncoding("gbk");
4。servlet中也要设置一下request.setCharacterEncoding("gbk");
第2个回答  2010-08-15
你的jsp页面是什么编码在用new String(request.getParameter("groupTitle").getBytes("ISO-8859-1"),"你页面的编码");在使用这句之前要设置request对象的编码格式,即request.setCharacterEncoding("页面的编码格式");
第3个回答  2010-08-14
ISO-8859-1 应该是这么写的 你之前写的不对吧。。。囧
而GBK改为UTF-8不错 支持各种语言 我们做的时候都用UTF-8的
第4个回答  2010-08-14
建议把全部编码设置为UTF-8。
在a.load("rest/new?groupTitle="+title);前加上下面这句试试。
request.serCharacterEncoding("你的编码格式");
相似回答