JSP页面中文乱码问题

我用JB2005开发,一个JSP页面中调用另一个JSP文件,形式如,(nysInput.jsp?ysbh=1001&ysmc=工资),并向其传值,如果传的值是中文,
在接收页面中接受到的值 String ysmc = request.getParameter("ysmc"); <%=ysmc%> 却是乱码,
我的页面不管是GBK编码,还是gb2312,试过都不行
<%@ page contentType="text/html; charset=GBK" %>
<%@ page contentType="text/html; charset=gb2312" %>
请问如何解决?QQ:418876065,317917750,MSN: yz_wzl@hotmail.com
[391 byte] By [wuzonglai-心雨] at [2008-1-6]
# 1
String ysmc = new String(request.getParameter("ysmc").getBytes("ISO-8859-1"), "GBK");
huyc_fly at 2007-10-14 > top of Msdn China Tech,Java,Web 开发...
# 2
在每个页面都加个
<%@page contentType="text/html; charset=gb2312"%>
icelbl at 2007-10-14 > top of Msdn China Tech,Java,Web 开发...
# 3
因为你在URL地址后边直接使用了中文参数,所以导致乱码,两种解决方案:
1.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(errmsg);
2.在你的Tomcat目录-->conf目录-->server.xml里找出这段:
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" <!--在里边加上这个参数-->URIEncoding="gb2312"
/>
lip009-深蓝忧郁 at 2007-10-14 > top of Msdn China Tech,Java,Web 开发...
# 4
在你的Tomcat目录-->conf目录-->server.xml里找出这段:
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" <!--在里边加上这个参数-->URIEncoding="gb2312"
/>加上这个,然后具体的传值时,加上String ysmc = new String(request.getParameter("ysmc").getBytes("ISO-8859-1"), "GBK");
chengkunxf at 2007-10-14 > top of Msdn China Tech,Java,Web 开发...
# 5
发送:java.net.URLEncoder.encode(errmsg);
接收:java.net.java.net.URLDecoder.decode(errmsg);
minno-Java族人 at 2007-10-14 > top of Msdn China Tech,Java,Web 开发...
# 6
感谢楼上所有关心的朋友,在你们的帮助下,已经解决了这问题,尤其感谢huyc_fly
wuzonglai-心雨 at 2007-10-14 > top of Msdn China Tech,Java,Web 开发...